我已经了解到在非静态块中,this
表示调用该块的当前引用。我怀疑是否需要检查this
是否null
,我的意思是如果它首先是空的,那么块(方法,构造函数等)不会被执行(NPE
)。我遇到了这个检查this != null
的代码。它不知道为什么使用它,是否真的有需要?
public int compareTo(StudentMarksTO arg0) {
if(arg0.isIsfalsegenerated()==true) {
if(arg0!=null && this!=null &&
arg0.getFalseNo()!=null && this.getFalseNo()!=null &&
!arg0.getFalseNo().toString().equals("") &&
!this.getFalseNo().toString().equals("") ) {
return this.getFalseNo().compareTo(arg0.getFalseNo());
}
else
return 0;
}
}
答案 0 :(得分:1)
如果你正在使用它,那么你就是在实例中,所以这不是空的。
关键字' this'本身表示该类范围内该类的当前活动实例(对象),您可以使用该实例访问其所有字段和成员(包括构造函数)及其父类的可见类。
了解详情,请查看Can "this" ever be null in Java?