Я смотрел видеоурок по программированию на Java, и в нем упоминалось, что:
if(null != x){
}
это хорошая практика, чтобы использовать его, как указано выше?
Отличается ли он от:
if(x != null){
}
Я смотрел видеоурок по программированию на Java, и в нем упоминалось, что:
if(null != x){
}
это хорошая практика, чтобы использовать его, как указано выше?
Отличается ли он от:
if(x != null){
}
Вы собираетесь хотеть использовать второй.
Оба делают одно и то же... сравните A с B или сравните B с A - оба означают одно и то же.
Просто имеет больше смысла использовать x != null
, потому что это больше похоже на то, как мы бы это сказали.
Вы могли бы спросить меня: «Разве x не равен нулю?» Это кажется более естественным, чем "Разве null не x?" Это имеет больше смысла для нас.
value == variable
называется условием Йоды< /а> :)
- person Pshemo; 07.11.2014
do
в наших программах на Java, но не try
.....
- person ajb; 07.11.2014
Я думаю, что наиболее распространенным методом является последний, но оба достигают одного и того же.
if (x != null)
встречается чаще. - person ryanpattison   schedule 07.11.2014null
, а в случае опечатки —null = x
. Но сравнение дает те же результаты. - person AntonH   schedule 07.11.2014null !=
, я предпочитаю первое. При использованииequals
я ищу в основном неnull
значение, например"Test String".equals(someStringVariable)
, но это другой случай... - person MadProgrammer   schedule 07.11.2014if
, как в C - person MadProgrammer   schedule 07.11.2014x != null
... - person MadProgrammer   schedule 07.11.2014==
if (null == x)
предотвращает случайное назначениеnull
наx
в случае опечатки, напримерif (x=null)
. Но в случае!=
эта ошибка не может быть допущена, поэтому вы вольны выбирать любой способ (но если вы начнете использоватьnull == x
, вам, вероятно, следует также использоватьnull != x
). - person Pshemo   schedule 07.11.2014if (x = null)
допустимо только, еслиx
являетсяBoolean
(с заглавной буквойB
). В противном случае либо тип выражения не был бы логическим, либоnull
нельзя было бы присвоитьx
. - person ajb   schedule 07.11.2014x
являетсяObject
, что должно быть, чтобы быть оцененным какnull
, тогдаif (x = null)
является допустимым заданием,if (null = x)
не может работать ... или я упускаю смысл? - person MadProgrammer   schedule 07.11.2014x
не должен быть только типObject
? Какой смысл пытаться оценитьboolean
доnull
? - person MadProgrammer   schedule 07.11.2014Boolean x; if(x = null);
является допустимым, ноString x; if (x = null);
не является допустимым для Java, поскольку результатx = null
не является логическим типом. - person ryanpattison   schedule 07.11.2014if ((x = null) != null)
будет работать, но да, это хороший улов со стороны компилятора;) - person MadProgrammer   schedule 07.11.2014x
являетсяObject
, типx = null
также являетсяObject
. И вы не можете использоватьObject
в качестве условия оператораif
. Мы все еще говорим о Java, верно? - person ajb   schedule 07.11.2014if
работать, но теперь ваша точка зрения яснее;) - person MadProgrammer   schedule 07.11.2014x=null && y==null
. Я думаю, что количество случаев, когда вы можете заменить==
на=
в выражении, и оба варианта будут допустимыми, довольно мало. Хотя хотелось бы ноль. - person ajb   schedule 07.11.2014if ((a = b) != null)
... да, это странно, но выполнимо ;) - Но ваш предыдущий комментарий прояснил мое замешательство, ура ;) - person MadProgrammer   schedule 07.11.2014=
можно было (случайно) поменять местами с==
, аif ((a == b) != null)
в любом случае не кажется законным. - person ajb   schedule 07.11.2014!(a==b)
... хм. Тем не менее, воздух прояснился ;) - person MadProgrammer   schedule 07.11.2014