作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个循环遍历数组的 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/
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 4 年前。 我正在尝试创建一个循环遍历数组的
我是一名优秀的程序员,十分优秀!