日期:2014-05-20  浏览次数:20804 次

我吐 - 对提问者的不负责任,误导他人
http://topic.csdn.net/u/20110916/13/1cebe474-27b1-4c5e-ba6a-b35c06332802.html?seed=1695885886&r=75589288#r_75589288

原文:
String s = "abcde";
if(s==null) 和 if(null==s) 这两个有什么区别啊??

有什么优点和缺点,一般用哪个啊???


回答:
4楼:用 if(null == s)这种形式一般不会出现空指针错误~~~
第一个这样回答的,不怪他,他也许不知道回答错误,并不是他的本意。

7楼:引用 4 楼 magicliukun 的回复:
  用 if(null == s)这种形式一般不会出现空指针错误~~~
  +1
8楼:理论上一样,但是 null==s 不会出现空指针。
15楼:==经常会误打成=
  NULL=s的话编译器直接会报错
  S=NULL的话会程序运行时出现莫名错误很难找

20楼:引用 15 楼 baitoclus 的回复:
  ==经常会误打成=
  NULL=s的话编译器直接会报错
  S=NULL的话会程序运行时出现莫名错误很难找
  这个必须得顶起
22楼:一样的,前面一种可能空指针
23楼:你这样写是没有区别的,但你如果是获取别的页面传值的话一般用后者,因为前者可能会报空指针。
25楼:理论上没区别。 只是为了避免空指针错误。
26,27楼:引用 25 楼 z6683227 的回复:
  理论上没区别。 只是为了避免空指针错误。
  yes
......后面的就不帖了,太多了。

这是一个提问区:我们应该认真对待楼主的问题,不要自己被误导了还要去误导别人。
如果是第一个人回答错误了,这也很正常,可是没想到居然后面还多的数不胜数,我吐。

1.会出现NullPointerException的,如果你这这样回答的,有本事你找一个实例出来给大家瞧瞧,别在这里瞎扯。
2.防止手误的。if(s=null),如果你认为是这样的,你就回去写写试试看看,在用Javac编译一下,看你这个手误编译器能不能给你检测出来。

上面的东西根本就没有任何区别。




------解决方案--------------------
呵呵,很多jdk的源代码中也是使用obj == null
------解决方案--------------------
楼主好人!!学习了
------解决方案--------------------
==null null== 随你怎么放, 看你个人习惯, 如果是 equals() 那么建议你常来放左边, 可以防止 NullPointException
------解决方案--------------------
楼主很有正义感,值得表扬

那个帖子我当时看到4楼的时候也小晕了一下
------解决方案--------------------
有些人回答问题依据的想当然。
------解决方案--------------------
空指针,我倒。

为了防止手误写成s=null赋值,所以写成null==s。
------解决方案--------------------
很多人没学过java或者用Boolean说事。
------解决方案--------------------
不用编辑器,你的IDE已经就可以把这个问题解决了~!~!~!
------解决方案--------------------
mark 学习了 其实原帖我看过的 不过没想太多 认真的人总是会有回报的 赞LZ
------解决方案--------------------
没有任何方法操作,这两种做法是没任何区别的
------解决方案--------------------
探讨

引用:

很多人没学过java或者用Boolean说事。

話說這跟Boolean有啥關係了

------解决方案--------------------
楼主细心呀,嘿嘿
[code=Java][/code] String str = "" ;
if(str = null) {
System.out.println("test");
}
}

这样写的话eclipse会报错的。
------解决方案--------------------
探讨

引用:

楼主你又在这忽悠人,是没有区别吗!你确定吗,是真的真的确定吗,如果要出现了空指针你是否能对的起那么多相信你人呢,他们才被你忽悠了,不解释!

如果你认为有区别,你就拿个实例来证明,别在这里瞎扯来忽悠人,好吧。
如果不能证明你就一边去凉快好吧。

------解决方案--------------------
探讨

引用:
引用:

很多人没学过java或者用Boolean说事。

話說這跟Boolean有啥關係了

貌似对于Boolean有这样的:
Boolean b = null
if(b = null)
b.booleanValue();
运行时就抛空指针异常了,如果习惯null写在前面:null = b……

------解决方案--------------------
[size=24px]我还是要说:都一样。[/size]