Mic*_*zek 124
我不是肯定你在问什么,但如果你正在寻找一个人们想要使用空键的例子,我经常在地图中使用它们来表示默认情况(即应该使用的值)如果给定的密钥不存在):
Map<A, B> foo;
A search;
B val = foo.containsKey(search) ? foo.get(search) : foo.get(null);
Run Code Online (Sandbox Code Playgroud)
HashMap特别处理null键(因为它不能调用.hashCode()null对象),但null值不是特别的,它们像其他任何东西一样存储在地图中
小智 6
null 值的使用的一个示例是当使用a HashMap作为高速缓存以用于可能返回的昂贵操作(诸如对外部web服务的调用)的结果时null.
null在地图中放置一个值,然后您可以区分未对给定键执行操作的情况(cache.containsKey(someKey)返回false),以及已执行操作但返回null值(cache.containsKey(someKey)返回true,cache.get(someKey)返回null)的情况.
如果没有null值,则必须在缓存中放置一些特殊值来指示null响应,或者根本不缓存该响应并且每次都执行操作.
| 归档时间: |
|
| 查看次数: |
98745 次 |
| 最近记录: |