这个问题已经在这里有一个答案:
- 其中有更好的表现:!测试= null或空=测试 8个答案
我有一个关于编码空校验标准的疑问。 我想知道的区别
if(a!=null)
和
if(null!=a)
哪一个更好,使用和为什么哪一个?
这个问题已经在这里有一个答案:
我有一个关于编码空校验标准的疑问。 我想知道的区别
if(a!=null)
和
if(null!=a)
哪一个更好,使用和为什么哪一个?
两者都是在Java中一样,因为只有布尔表达式可如果内部。 这仅仅是一个由程序员编码风格偏好,大部分都使用null != a
。
该null != a
是老的做法像Java,C ++(称为尤达条件 )的编程语言。
因为它是有效的写if (a = null)
和意外分配null
到a
所以写null
第一个是后卫阻止这种情况发生的事故 。
没有区别。 但首先是比较常见的。 第二个也被称为“尤达条件”,因为它不自然的“语法”的。
有一次,我在一个项目工作,其中编码准则是使用if (null != a)
因为他们认为这是更容易为开发商明白,定值必须是第一位的始终(如CONSTANT_VALUE.equals(variable)
那是非常讨厌我。
他们都是一样的。 这取决于你的编码风格。
但从编译器的角度来看,他们是完全一样的。 但第一种形式是更具可读性,所以我建议你使用的那一个。
速滑运动员的肌肉他们没有区别,如果基于表达式的结果声明的作品,这样你们写或者if(a!=null)
或者if(null!=a)
会产生真或假,那么结果进行评估。
因此,它并不重要,你写你喜欢
他们都是一样的。 虽然第一种变体常见的,如果你知道第一个变量是不是空的第二个变体是很有用的
例如"some value".equals(your_variable)
某些值可以是你知道的任何值不为空。 这将避免NPE时your_variable
为null
。
String str = "somevalue";
if(str != null && str.equals("somevalue")) { }
if("somevalue".equals(str)) { }
如果这两个条件将是相同的str
为null
或不是。