gpt4 book ai didi

java - Hashmap的get方法中的NullPointerException

转载 作者:搜寻专家 更新时间:2023-10-31 08:26:23 25 4
gpt4 key购买 nike

我有一个 NullPointerException在这条线上:

 int qty = mSelectedBottles.get(bottleID);

我检查过 mSelectedBottlesbottleID都不是空的。

mSelectedBottles类型为 Hashmap<Integer, Integer>bottleID类型为 int

最佳答案

因为,将空值拆箱为原始数据类型。这里有足够的代码来重新创建 NullPointerException 自己

int x;
HashMap<String,Integer> map = new HashMap<String,Integer>();
x = map.get("hello");

问题是自动拆箱不存在的值。

我们知道引入自动装箱是为了使编码更容易,但它确实是一种性能反模式,并且会导致像这样不直观的恼人错误。

就个人而言,我总是尝试通过显式进行任何此类调用来移除自动装箱,这样虽然代码有点丑陋,但也更清楚发生了什么。

你必须检查mSelectedBottles.get(bottleID) 是否为空,然后再将其拆箱为原始 int

来自 Java Performance News Letter

关于java - Hashmap的get方法中的NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22755484/

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