是否需要检查当前引用是否为空? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我已经了解到在非静态块中,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;             
    }
}
java this non-static nul
1个回答
1
投票

如果你正在使用它,那么你就是在实例中,所以这不是null。

关键字“this”本身表示该类范围内该类的当前活动实例(对象),您可以使用该实例访问其所有字段和成员(包括构造函数)及其父类的可见实例。

有关更多信息,请查看Can "this" ever be null in Java?

© www.soinside.com 2019 - 2024. All rights reserved.