У меня есть сомнения относительно стандарта кодирования нулевой проверки. Я хочу знать разницу между
if(a!=null)
и
if(null!=a)
какой из них лучше, какой из них использовать и почему?
У меня есть сомнения относительно стандарта кодирования нулевой проверки. Я хочу знать разницу между
if(a!=null)
и
if(null!=a)
какой из них лучше, какой из них использовать и почему?
Оба одинаковы в Java, так как только логические выражения могут быть внутри if. Это просто предпочтение стиля кодирования программистом, и большинство из них используют null != a
.
null != a
- старая практика в языках программирования, таких как Java, С++ (называемых условиями Yoda).
Поскольку это действительно так, напишите if (a = null)
и случайно присвойте null
a
, поэтому запись null
сначала защищает, чтобы эта авария не происходила.
Нет никакой разницы. Но первое является более распространенным явлением. Второе также называется "Условия Йоды" из-за его неестественной "грамматики".
Как только я работал над проектом, в котором руководство по кодированию должно было использовать if (null != a)
, потому что они думали, что разработчику проще понять, что постоянное значение должно всегда быть первым (как в CONSTANT_VALUE.equals(variable)
. раздражает меня.
Они оба одинаковы. Это зависит от вашего стиля кодирования.
С точки зрения компилятора они точно такие же. Но первая форма более читаема, поэтому я бы посоветовал вам использовать ее.
Нет разницы между ними, если оператор работает на основе результата выражения
так что напишите либо if(a!=null)
, либо if(null!=a)
будет выдавать true или false, тогда результат будет оценен.
Так что не важно, что вы пишете, что вам нравится
Оба они одинаковы. Хотя первый вариант является общим, второй вариант полезен, если вы знаете, что первая переменная не является нулевой
Пример "some value".equals(your_variable)
, некоторым значением может быть любое значение, которое, как вы знаете, не равно нулю. Это позволит избежать NPE, если your_variable
null
.
String str = "somevalue";
if(str != null && str.equals("somevalue")) { }
if("somevalue".equals(str)) { }
Оба условия будут одинаковыми, если str
равно null
или нет.