String str = "abc";
比如和另一字符"ABC"串比较,为什么建议写成"ABC".equals(str);而不写成str.equals("ABC");?

解决方案 »

  1.   

    不一样的!
    String str = "abc";的时候 内存已经分配空间
    equals(“”);是属于对象的  
    而“ABC”是么?
      

  2.   

    为了防止空指针异常  所以 “”.equals 不怕空指针 
      

  3.   

    学习了.不过java中不是不用担心空指针吗?不是绝对安全的吗
      

  4.   

    这个是编程规范规定的,如果变量是Null会出现空指针异常,而且这样写阅读起来也不好
      

  5.   

    str.equals("Abc"); // 这样str == null时会抛出NullPointerException"Abc".equals(str); // 良好的编程习惯,避免NullPointerException如果没有必要抛出的异常,那么绝对使用第二种方式
      

  6.   

    "abc".equals(str)这种写法,假如str还没初始化,编译时就会出错,而str.equals("abc")如果str为null在编译时没有提示错误的,但在运行时就会出空指针异常。就像很多人喜欢这样写if(true == bool)一样,不过我觉得这样写更简便if(bool)。
      

  7.   

    jdk1.6测试没有什么不同的,我测试就是这样的了