判断一个对象是否为null的代码:
我一般这些写 if(对象名 != null)
但我看到好多代码中都这样写  if(null != 对象名),即把null提到前面,这样代码可读性差了,但一定有其好处的,我看到许多优秀的代码也是这样写的,这到底有什么好处呢,向各位高手指教!

解决方案 »

  1.   

    if(null != 对象名)
    这样写是为了防止由于程序员手误(或其它的一些失误),将程序写成了if(对象名 = null)
    那就程序编译时是不会报错的,可却改变了程序的作用。!= 这个功能写错的可能性还小一点,
    = = 这个功能就会容易写成=
    那判断是否相等就会变成了赋值了!!这就是倒过来写的好处。
      

  2.   

    yiyi2007说得确实不错,这样写能避免表面上很难发现的误赋值逻辑问题
      

  3.   

    在C中, “if (NULL == p) ”这种写法是有必要的,是程序员为了防止将 if (p == NULL) 误写成 if (p = NULL),而有意把p和NULL颠倒。编译器认为 if (p = NULL) 是合法的,但是会指出 if (NULL = p)是错误的,因为NULL不能被赋值。
    但在Java中没必要这么写,因为如果if的条件表达式的值为非boolean型的话编译器会报错的。