gpt4 book ai didi

java - 添加到列表时出现 NullPointerException

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

我试图遍历对象列表来找出哪些对象正在互相争斗。我使用 checkedGladiators 列表作为比较对象,以防止它检查已分配给战斗的角斗士,因为尚未分配的每个 s 将构建其整个他们周围的战斗。目前,我遇到了 NullPointerException,因此我使用了一些测试文本来确定它发生在 listContains(checkedGladiators,s) 处。我在它之前添加了部分。现在问题也发生在“Null”和“Null Changed”之间,这对我来说毫无意义。

for (Gladiator s : gladiators) {
if (checkedGladiators == null) {
System.out.println("Null");
combat1.add(s);
checkedGladiators.add(s);
System.out.println("Null Changed");
}
if (listContains(checkedGladiators, s)) {
// if gladiator is already in a combat do nothing
} else { // if he isn't

}
}

列表包含类:

public boolean listContains(List<Gladiator> List, Gladiator search) {
for (Gladiator p : List) {
if (p.equals(search)) {
return true;
}
}
return false;
}

有谁知道为什么会出现这种情况吗?谢谢

编辑1:

public class Ai {
private List<Gladiator> gladiators;
private List<List<Gladiator>> combatsList;
private List<Gladiator> checkedGladiators;
private List<Gladiator> combat1;
private List<Gladiator> combat2;
private List<Gladiator> combat3;
private List<Gladiator> combat4;
private List<Gladiator> combat5;
private List<Gladiator> combat6;
private List<Gladiator> combat7;
private List<Gladiator> combat8;
private List<Gladiator> guardList;
private List<Gladiator> advanceList;
private List<Gladiator> retreatList;
int totalCombats = 0; // total combats going on

我已经初始化了类中的列表变量。

最佳答案

您忘记创建checkedGladiators对象。

因此,在循环之前创建对象:

List<角斗士> checkGladiators = new ArrayList<角斗士>();

然后,在循环中,而不是测试 checkGladiators == null...

测试 checkGladiators.isEmpty()。

关于java - 添加到列表时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002278/

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