如果我迭代 WeakHashMap 的键集,是否需要检查 null 值?
WeakHashMap<MyObject, WeakReference<MyObject>> hm
= new WeakHashMap<MyObject, WeakReference<MyObject>>();
for ( MyObject item : hm.keySet() ) {
if ( item != null ) { // <- Is this test necessary?
// Do something...
}
}
换句话说,当我迭代 WeakHashMap 的元素时,可以收集它们吗?
EDIT
对于这个问题,我们可以假设没有null
条目被添加到哈希图中。
我不熟悉WeakHashMap
,但您可能有一个 null 对象。看这个例子:
public static void main(String[] args)
{
WeakHashMap<Object, WeakReference<Object>> hm
= new WeakHashMap<Object, WeakReference<Object>>();
hm.put(null, null);
for ( Object item : hm.keySet() ) {
if ( item == null ) {
System.out.println("null object exists");
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)