Кусочек Java кода

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
Дима
Маньяк
Сообщения: 1455
Зарегистрирован: 15 авг 2006, 10:21
Откуда: Минск->Vancouver->Victoria

Кусочек Java кода

Сообщение Дима »

Сегодня Senior Java Developer из головной штатовской конторы прислал кусочек своего кода, который в том числе проверяет переменную id на не null и не пустоту. Ржали всем офисом. Самое печальное то, что он не шутил...

Код: Выделить всё

if (!id.equalsIgnoreCase("") && !id.equals(null))
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45281
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Кусочек Java кода

Сообщение Stanislav »

Вы, наверное, просто не в курсе - в новом JDK Java 1.6.0_05 есть опция: вычислять логические выражения в обратном порядке - скорее всего он эту опцию и использует....
Zy
Маньяк
Сообщения: 4706
Зарегистрирован: 20 янв 2005, 19:11

Re: Кусочек Java кода

Сообщение Zy »

Stanislav писал(а):Вы, наверное, просто не в курсе - в новом JDK Java 1.6.0_05 есть опция: вычислять логические выражения в обратном порядке - скорее всего он эту опцию и использует....
!id.equals(null) не будет работать даже в зеркальном или снизу вверх.
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45281
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Кусочек Java кода

Сообщение Stanislav »

Zy писал(а):
Stanislav писал(а):Вы, наверное, просто не в курсе - в новом JDK Java 1.6.0_05 есть опция: вычислять логические выражения в обратном порядке - скорее всего он эту опцию и использует....
!id.equals(null) не будет работать даже в зеркальном или снизу вверх.
Почему это не будет работать? Очень даже будет!
Аватара пользователя
Ranger
Маньяк
Сообщения: 1199
Зарегистрирован: 22 окт 2003, 18:28
Откуда: 2:5025 -> Burnaby

Re: Кусочек Java кода

Сообщение Ranger »

NullPointerException, если оно таки "equals null"
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45281
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Кусочек Java кода

Сообщение Stanislav »

Ranger писал(а):NullPointerException, если оно таки "equals null"
А спорим, что !id.equals(null) никогда не бросит NPE? :D
Аватара пользователя
Ranger
Маньяк
Сообщения: 1199
Зарегистрирован: 22 окт 2003, 18:28
Откуда: 2:5025 -> Burnaby

Re: Кусочек Java кода

Сообщение Ranger »

Stanislav писал(а):
Ranger писал(а):NullPointerException, если оно таки "equals null"
А спорим, что !id.equals(null) никогда не бросит NPE? :D
Давай. На щелбан? ;)
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45281
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Кусочек Java кода

Сообщение Stanislav »

Ranger писал(а):
Stanislav писал(а):
Ranger писал(а):NullPointerException, если оно таки "equals null"
А спорим, что !id.equals(null) никогда не бросит NPE? :D
Давай. На щелбан? ;)
гыыы, оно не бросит NPE, потому как его опередит !id.equalsIgnoreCase("") :D
Аватара пользователя
Ranger
Маньяк
Сообщения: 1199
Зарегистрирован: 22 окт 2003, 18:28
Откуда: 2:5025 -> Burnaby

Re: Кусочек Java кода

Сообщение Ranger »

Stanislav писал(а):
Ranger писал(а):
Stanislav писал(а):
Ranger писал(а):NullPointerException, если оно таки "equals null"
А спорим, что !id.equals(null) никогда не бросит NPE? :D
Давай. На щелбан? ;)
гыыы, оно не бросит NPE, потому как его опередит !id.equalsIgnoreCase("") :D
Так я и думал. Ну, как дитё малое :) Напиши отдельно - бросит :-P
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45281
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Кусочек Java кода

Сообщение Stanislav »

Ranger писал(а):
Stanislav писал(а):
Ranger писал(а):
Stanislav писал(а):А спорим, что !id.equals(null) никогда не бросит NPE? :D
Давай. На щелбан? ;)
гыыы, оно не бросит NPE, потому как его опередит !id.equalsIgnoreCase("") :D
Так я и думал. Ну, как дитё малое :) Напиши отдельно - бросит :-P
:D это я так, флудю немножко :D
Аватара пользователя
Marmot
Графоман
Сообщения: 39283
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Кусочек Java кода

Сообщение Marmot »

Встряну и я :)
Код вырван из контекста :)
Я легко могу себе представить ситуацию когда !id.equals(null) ==false и без NPE :)
Аватара пользователя
Дима
Маньяк
Сообщения: 1455
Зарегистрирован: 15 авг 2006, 10:21
Откуда: Минск->Vancouver->Victoria

Re: Кусочек Java кода

Сообщение Дима »

Marmot писал(а):Встряну и я :)
Код вырван из контекста :)
Хе-хе, контекст я указал, между прочим ;) Кстати, его проверку на null я уже видел раньше, потому она меня не так впечатлила, как equalsIgnoreCase("").
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45281
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Кусочек Java кода

Сообщение Stanislav »

Marmot писал(а):Встряну и я :)
Код вырван из контекста :)
Я легко могу себе представить ситуацию когда !id.equals(null) ==false и без NPE :)
А вот это уже интересно!
Пример в студию!
Аватара пользователя
Marmot
Графоман
Сообщения: 39283
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Кусочек Java кода

Сообщение Marmot »

Stanislav писал(а):
Marmot писал(а):Встряну и я :)
Код вырван из контекста :)
Я легко могу себе представить ситуацию когда !id.equals(null) ==false и без NPE :)
А вот это уже интересно!
Пример в студию!
Подсказка, method equals() is not final :)
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45281
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Кусочек Java кода

Сообщение Stanislav »

Marmot писал(а):
Stanislav писал(а):
Marmot писал(а):Встряну и я :)
Код вырван из контекста :)
Я легко могу себе представить ситуацию когда !id.equals(null) ==false и без NPE :)
А вот это уже интересно!
Пример в студию!
Подсказка, method equals() is not final :)
Не, ну это уже будет не String!
Ответить