我遇到了愚蠢的案例:(,我尝试过从另一个方法调用Object但总是返回null(我添加了Getter ......)。
有人能解决我的问题。
这是我的代码:
private Email email;
public void loadPage() { // Call from init page
email = emailDAO.findById(40); // I debugged here and had values
}
public String changeResetPassword() { // Call by click button event
email.getSender(); // Error here - java.lang.NullPointerException
}
public Email getEmail() {
return email;
}
public void setEmail(Email email) {
this.email = email;
}
答案 0 :(得分:1)
强制在访问它的getEmail
方法中分配字段,这将消除temporal coupling:
public Email getEmail() {
if(email == null){
this.loadPage();
}
return email;
}
另一种方法是将loadPage
的调用移到类构造函数中,以确保始终加载电子邮件。
答案 1 :(得分:0)
我明白了。 我声明了相同的对象名称,当再次加载它新对象时,我总是得到null返回的原因。
谢谢大家。