пожалуйста, вы можете сказать мне exactely чем разница между этоСтрока между двумя предложениями
if(myString.equals("test")) { }
И
if("test".equals(myString)) { }
пожалуйста, вы можете сказать мне exactely чем разница между этоСтрока между двумя предложениями
if(myString.equals("test")) { }
И
if("test".equals(myString)) { }
Если myString
является null
, то есть
null.equals("test") --> NullPointerException
"test".equals(null) --> false
(если myString != null
выражения эквивалентны.)
существует никакой разницы, если mystring
не является нулевым
I обычно следуют второму способу
if("test".equals(myString)){ }
Причина в том, что если mystring имеет значение null, тогда 1-й путь даст мне исключение с помощью указателя на указатель.
Однако во 2-й способ является mystring
приходит нуль, то и ваше приложение не остановит (из-за исключения нулевого указателя), как он возвращает ложь
Первый, кто выбросит NPE, будет myString равным null, а второй - false. Это также называется условиями Йоды. Там же пример в википедии http://en.wikipedia.org/wiki/Yoda_conditions –