Нужно ли проверять, является ли текущая ссылка нулевой?
Я узнал, что внутри нестатического блока, 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?