为什么高手都是这么写的
if(null==str||("").equals(str)){
}
我一般都这么写的
if(str==null||str.equals("")){
}
到底会出现什么差别,我记得以前有看到国,无奈大脑空间有限,没记下。
大家指点下

解决方案 »

  1.   

    null == str 这种写法的来源的初衷应该是避免developer误写成str = null, 这在有些语言环境下是可以作为if条件通过编译的, 所以之后形成的一些习惯。
      

  2.   

    如果str为空,请问调用equals方法不是会抛异常么
    前一种写法不会出错
      

  3.   

    null写前面编译通不过,直接就可以看出来了啊~可以避免出错
      

  4.   

    我觉得编码规范是一种原因,另外可以就是7楼说的万一不小心写成=
    str=null//编译通过
    null=str//编译不通过
    有没其他原因了?
      

  5.   

    第一个是防止==写成=
    第二个是防止str为空,抛出NullPointException
      

  6.   

    楼主看看这个您就明白了
    http://blog.csdn.net/myjava_024/archive/2008/11/26/3376555.aspx
    楼主加油
      

  7.   


    没看出来那个有什么~~http://blog.csdn.net/java2000_net/archive/2008/11/18/3326918.aspx
    老竹子写的,你看一下其实就是习惯问题飞过~~