Нужно ли проверять, является ли текущая ссылка нулевой?

Я узнал, что внутри нестатического блока, 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 ответ

Если вы используете это, то вы в экземпляре, так что это не равно нулю.

Ключевое слово "this" само представляет текущий живой экземпляр (объект) этого класса в области видимости этого класса, с помощью которого вы можете получить доступ ко всем его полям и членам (включая конструкторы), а также к видимым из его родительского класса.

для дополнительной информации проверьте это Может ли это когда-либо быть нулевым в Java?

Другие вопросы по тегам