有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否需要检查当前引用是否为空?

我了解到,在非静态块中,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;             
    }
}

共 (1) 个答案

  1. # 1 楼答案

    如果你在使用这个,那么你在实例中,所以这个不是空的

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

    欲了解更多信息,请查看Can "this" ever be null in Java?