论坛首页 入门技术论坛

[已解决]a != null同null !=a 的细节区别

浏览 10168 次
该帖已经被评为新手帖
作者 正文
   发表时间:2011-03-11   最后修改:2011-03-21

Class A;

A a = new A();

请问下
a != null

同

null !=a 的细节区别

那么 null != a的效率为什么会高一些?


qjtttt 写道
不能言说的伤 写道
这个的主要区别是,举个例子,例如,a是用来接收页面的参数的,。如果传过来的参数为null,那么如果是a=!null这种方式的话,,会报一个空指针异常,,儿null!=a则不会、

、
  //第一种情况
  if("a".equals(a))  //无论a 是否null都不会抛空指针异常
  if(a.equals("a"))  //a如果为null则抛出空指针异常

  //第二种情况
  if(null!=a)
  if(a!=null)   
  //两者都不会抛出空指针异常

  ps:写cpp的很多人喜欢写null!=a 我曾经写C++的,所以这习惯保留下来了,java里面更多应该是个人习惯。不过第一种和习惯无关,而是真的要规避空指针异常,第二种则纯粹是个人习惯

   发表时间:2011-03-11  
自己看一下il就可以了,问个什么劲
0 请登录后投票
   发表时间:2011-03-11  
写 null !=a  这种代码的就是浮云。。
0 请登录后投票
   发表时间:2011-03-11  
null !=a 这种写法是C/C++的习惯
0 请登录后投票
   发表时间:2011-03-11  
很蛋疼的写法!
0 请登录后投票
   发表时间:2011-03-11  
这个的主要区别是,举个例子,例如,a是用来接收页面的参数的,。如果传过来的参数为null,那么如果是a=!null这种方式的话,,会报一个空指针异常,,儿null!=a则不会、
0 请登录后投票
   发表时间:2011-03-11   最后修改:2011-03-11
我记得是,不一定准确,后面的写法如果a为空的话。不会空指针抛异常。是真忘了。具体google
0 请登录后投票
   发表时间:2011-03-11  
不能言说的伤 写道
这个的主要区别是,举个例子,例如,a是用来接收页面的参数的,。如果传过来的参数为null,那么如果是a=!null这种方式的话,,会报一个空指针异常,,儿null!=a则不会、

怎么回事?
0 请登录后投票
   发表时间:2011-03-11  
不能言说的伤 写道
这个的主要区别是,举个例子,例如,a是用来接收页面的参数的,。如果传过来的参数为null,那么如果是a=!null这种方式的话,,会报一个空指针异常,,儿null!=a则不会、



这个说法我知道的。而且也理解的。我是想知道从效率方面是不是有什么优化。
0 请登录后投票
   发表时间:2011-03-11  
a!=null会抛空指针,这是什么强大理论?完全个人习惯,我看到是写过cpp的人喜欢这样。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics