gpt4 book ai didi

java - 如何使用空键处理迭代中的空指针

转载 作者:行者123 更新时间:2023-12-01 06:09:28 26 4
gpt4 key购买 nike

在最近的一次采访中,我面临的问题是

How can you handle null pointer when iterator encounters a null key while iteration over a hashmap. assume my developer has inserted a null key by mistake

我的答案是:只是我们需要检查null!=entry.getKey()。他不满意,之前就说你要怎么处理。

我该如何回答这个问题。当我回来的时候。

我试过了

public class Main {
public static void main(String[] args) {
Map<String,String> map = new HashMap<String,String>();
map.put(null, "null");
map.put("null",null);
map.put("test", "test");

Iterator<Entry<String, String>> it = map.entrySet().iterator();
while(it.hasNext()){
System.out.println(it.next().getKey());
}
}
}

输出:

null
test
null

没有异常(exception)。他到底想问什么。或者是我遗漏了一些概念?请指导我

最佳答案

map.remove(null)

来自 JavaDocs:

Returns the value to which this map previously associated the key, or null if the map contained no mapping for the key.

If this map permits null values, then a return value of null does not necessarily indicate that the map contained no mapping for the key; it's also possible that the map explicitly mapped the key to null.

The map will not contain a mapping for the specified key once the call returns.

在迭代之前调用它,它将删除显式的空键

关于java - 如何使用空键处理迭代中的空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37915413/

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