gpt4 book ai didi

java - 从 TreeMap 获取 Integer 并分配给 int 时出现 NullPointerException

转载 作者:行者123 更新时间:2023-12-01 18:17:18 25 4
gpt4 key购买 nike

我是否正确地假设这两个示例是唯一在从 TreeMap 获取并尝试将结果分配给原始 int 时抛出 NullPointerException 的示例?

TreeMap<BigDecimal, Integer> map = new TreeMap<>();

BigDecimal b = null;
int a = map.get(b);

BigDecimal bb = new BigDecimal("1"); //non existant key
int aa = map.get(bb);

我假设映射可以由于不存在的键而返回 null,然后由于隐式 .intValue() 自动拆箱而引发异常 - 或者,因为 get 参数本身为 null 而引发异常。

最佳答案

至少有 5 个原因导致 int a = map.get(b); 可能抛出 NullPointerException

  1. map == null
  2. b == nullmap 不支持 null 键。
  3. map.containsKey(b) == false
  4. map.containsKey(b) == truemap.get(b) == null
  5. map 使用的 ComparatorcompareTo 方法会因其他原因引发 NPE。

关于java - 从 TreeMap 获取 Integer 并分配给 int 时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28859064/

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