gpt4 book ai didi

java - 如何绕过 array.equals(otherArray) 评估为 null?

转载 作者:行者123 更新时间:2023-12-02 10:09:50 30 4
gpt4 key购买 nike

我正在尝试创建一个循环遍历数组的 for 循环,使用名为 getID() 的方法将用户输入与每个对象进行比较,该方法返回各个员工的存储的用户 ID。数据在运行之间不会保存,因此在第一个循环中,所有对象(我相信)应该为空。话虽如此,我在应该比较 getID() 检索的字符串和 userInput 字符串的行上收到了 nullPointerException。数组初始化如下:

Salesperson[] staffList;
staffList = new Salesperson[20];

这是有问题的循环,if 语句是抛出 NPE 的行:

for(i = 0; i < staffList.length; i++) 
{
if(staffList[i].getID().equals(idNum))
{
duplicateID = true;
}
}

这是 Salesperson 数组的类:

public class Salesperson
{
private String name;
private String idNum;
private double annSales;

//Various getter and setter methods here
}

如果我错过了什么,请告诉我。我过去曾使用过 Stack Overflow,但自己从未提出过问题。我尝试在这里搜索,但尚未找到任何对我有帮助的东西。提前致谢!

最佳答案

您可以像下面这样更新您的代码以避免 NPE。

    Salesperson[] staffList;
staffList = new Salesperson[20];

for(int i = 0; i < staffList.length; i++)
{
Salesperson salesPerson = staffList[i]; // staffList[i] i.e salesPerson = null.... null.getId throws NPE.

System.out.println("sales =" + sales); // sales = null
if(sales != null) {
if (sales.getId().equals(idNum)) {
//Do something..
}
}

}

关于java - 如何绕过 array.equals(otherArray) 评估为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55074601/

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