这段代码在线程“main”java.lang.NullPointerException 中给了我一个异常。异常发生在代码底部的 if 语句处。
public boolean printEmployees(Node Head){
boolean isSuccessful = true;
Node nodeChecker = new Node();
nodeChecker = Head;
int hospitalEmployeeCount = 0;
int doctorCount = 0;
int surgeonCount = 0;
int nurseCount = 0;
int administratorCount = 0;
int receptionistCount = 0;
int janitorCount = 0;
System.out.println(nodeChecker.getData().getRole());
while(nodeChecker != null){
if(nodeChecker.getData().getRole() == "h")
hospitalEmployeeCount++;
另一段代码从文件中读取数据并填充链接列表。我已经使用断点进行了检查,链接列表就在那里。 nodeChecker 指向链表的头部,当我调用 System.out.println 语句时,它会打印 h。我不明白为什么异常不断发生。
稍后,在此方法中,我尝试打印以屏幕显示链接列表中的所有信息。我尝试注释掉这部分代码来测试其余代码,但它打印出来就像链接列表为空一样。我可以检查链接列表中的变量一直到函数末尾,它显示正确位置的数据以及列表中正确的变量。
最佳答案
nodeChecker
不是 null
,但 nodeChecker.getData()
是 null
,也是 String
比较 is done incorrectly
关于java - 空指针异常但变量包含值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24114054/