如何在线程“main”java.lang.NullPointerException中修复Exception 在BankSystem.Branches.findCustomer(Branches.java:44) 我是编码的新手,java是我的第一语言,我不断得到这个错误,我不知道要解决它。
package BankSystem;
import java.util.ArrayList;
public class Branches {
private String name;
private ArrayList<Customers> newCustomer;
public Branches(){
}
public Branches(String name) {
this.name = name;
this.newCustomer = new ArrayList<>();
}
public ArrayList<Customers> getNewCustomer(){
return newCustomer;
}
public String getName() {
return name;
}
public boolean addCustomer(String name, double amount) {
if (findCustomer(name) == null) {
this.newCustomer.add(new Customers(name, amount));
return true;
}
return false;
}
public boolean addTranstraction(String name, Double amount) {
Customers existingCustomer = findCustomer(name);
if (existingCustomer != null) {
existingCustomer.addTransactions(amount);
return true;
}
return false;
}
private Customers findCustomer(String name) {
for(int i=0; i<this.newCustomer.size(); i++){
Customers checkedCustomer = this.newCustomer.get(i);
if(checkedCustomer.getName().equals(name)) {
return checkedCustomer;
}
}
return null;
}
}
答案 0 :(得分:1)
我认为正在调用类的默认构造函数,它不会初始化newCustomer
。您需要查看初始化导致错误的Branch
的代码。 NullPointerException
只表示您正在尝试使用尚未初始化的对象。
答案 1 :(得分:0)
findCustomer中的问题可能是,如果您在addTranstraction中查找的客户不存在,这将导致它返回null,并且尝试访问null变量是导致nullPointerException的原因。