gpt4 book ai didi

java - WeakHashMap 的 keySet 条目永远不会为空吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:19:04 25 4
gpt4 key购买 nike

如果我遍历 WeakHashMap 的键集,是否需要检查空值?

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 的元素可以在我迭代它们时被收集吗?

编辑

为了这个问题,可以假设没有 null 条目被添加到 HashMap 中。

最佳答案

我不熟悉 WeakHashMap,但您可能有一个空对象。看这个例子:

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");
}
}
}

关于java - WeakHashMap 的 keySet 条目永远不会为空吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6158936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com