Проверка на ноль Java, почему используйте == вместо .equals () - PullRequest
107 голосов
/ 21 декабря 2010

В Java мне говорят, что при выполнении нулевой проверки следует использовать == вместо .equals () Каковы причины этого?

Ответы [ 13 ]

1 голос
/ 21 декабря 2010

Поскольку функция equal является производной от класса Object, эта функция сравнивает элементы класса.если вы используете его со значением NULL, он вернет ложное значение, потому что содержимое класса не равно NULL.Кроме того == сравнивает ссылку на объект.

0 голосов
/ 18 октября 2017

Так что я никогда не путаюсь и избегаю проблем с этим решением:

if(str.trim().length() <=0 ) {
   // is null !
}
0 голосов
/ 16 августа 2012

Вы всегда можете сделать

if (str == null || str.equals(null))

Сначала проверяется ссылка на объект, а затем проверяется сам объект, если ссылка не равна нулю.

...