Разница между двумя выражениями в Java - PullRequest
1 голос
/ 03 февраля 2012

Я не могу понять, в чем разница между этими двумя операциями: -

  1. abc == null
  2. null == abc

Оба эти выражения приводят к одному и тому же выводу.Я искал много мест, но не смог найти ни одной ссылки с тем же.

Пожалуйста, помогите.

Ответы [ 3 ]

3 голосов
/ 03 февраля 2012

Они оба одинаковы.В некоторых языках, таких как C и C ++, вторая форма используется, чтобы избежать случайного использования = вместо оператора ==.

Форма:

null = abc

вызовет компиляторошибка, в то время как abc = null скомпилирует и оставит вас в погоне за трудной для поиска ошибкой.

Однако в современных языках, таких как Java и C #, это не имеет смысла, так как первая форма все еще будет перехваченакак ошибка, если используется как логическое выражение.

1 голос
/ 03 февраля 2012

Часто рекомендуется использовать null == abc (сначала константа, затем переменная), поскольку ошибочное null = abc даст вам ошибку, в отличие от случайного присваивания abc = null, которое не будет обнаружено компилятором.

0 голосов
/ 03 февраля 2012

Это потому, что между ними нет никакой разницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...