如题,上面两种形式有什么不一样吗?有的话那个更好。
另外还有就是 null!=name 和name!=null的区别     有的话谁更好?!

解决方案 »

  1.   

    当name为null的时候,name.equals("123")会抛空指针异常。而"123".equals(name)不会。
    name!=null 更 好.
      

  2.   

    不觉得有区别,只是个人style的不同吧
      

  3.   

    "123".equals(name)好,不会有空指针异常
      

  4.   

    name.equals("123")更好我觉得程序没有道理让name为空,如果为了避免报空指针而写成"123".equals(name),就像一种掩耳盗铃的感觉
      

  5.   


    写成"123".equals(name),程序只用关心name是否等于123,否则还要关心是否等于null
      

  6.   

    再说说null!=name 和name!=null的区别
      

  7.   

    没区别那些使用"123".equals(name)的人,只想少写一个name != null而已。
    一般使用name != null && name.equals("123")这种style,这样让人明白一些。
      

  8.   


    我并没有说还要关心name是否为null,我的意思是设计时既然要用就必须人为保证其不等于null而不是将可能的空指针隐藏起来无论是通过代码保证name不为null或者在判等前加上if限制