gpt4 book ai didi

java - 这怎么会是空指针异常呢?

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

我真的很困惑:我只是想将 ArrayList 中每个对象的名称添加到另一个 ArrayList 中。

for (int i = 0; i < availableParts.size(); i++) {
for (int j = 0; j < namesOfIngredients.size(); j++){
if (availableParts.get(i).getName() != namesOfParts.get(j)){
namesOfParts.add(availableParts.get(i).getName());
}
}//middle if statement makes sure there are no repeats
}

编辑:我意识到namesOfIngredients为空。但是,我需要它以 null 开头——这就是我复制名称的方式。难道不能这样吗?

最佳答案

确保

  1. 两个列表 availablePartsnamesOfIngredients 都不 null
  2. 您要添加元素的列表 (namesOfParts) 已使用构造函数正确初始化(不是 null)。
  3. 这些列表中的所有元素都不null

请记住,字符串比较是通过 String.equals() 完成的。检查两个 String 对象的相等性 (==) 仅当它们是同一实例时才会返回 true。

作为旁注,您可以考虑使用 List.contains()以便查明某个部件的名称是否在 namesOfIngredients 列表中。另外,也许这是一个错字,但您应该检查 IndexOutOfBoundsException在该相等性检查中的 namesOfParts.get(j) 处。

关于java - 这怎么会是空指针异常呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7636509/

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