解决方案 »

  1.   

    java中如果想比较两个字符串的值是否相等,是要用equals的。如果想比较两个字符串对象是否相等才用== 的。
    你说的第三点,万一你后续又对某个字符串进行了处理,来回处理了几次,但是字符串的内容还是没有变化,但是此时有可能地址值的引用已经变化了,所以使用==号还是不可取的。
    就用你写的那个代码的那种方式吧
      

  2.   

    1.在java中,==等同于Object的equals,但是String的equals被重写,所以比较String的对象,==和equals完全是两码事,==比较的是引用,equals比较的是值。
    2.这就是最简单的写法,比较引用类型的对象,这是最起码的安全处理。
    3.不要抱有侥幸心理,在java中,比较字符串的值就用equals,再说了,一般做项目谁会定义一堆全局string去比来比去的?
      

  3.   


    我写过new Class1,此Class1里面有字段是String类型,对其赋值的话,貌似 使用 == 是对的,暂时还没有碰到其他的情况,谢谢你的建议,我会使用equals
      

  4.   


    我想问,如果两个null,我想比较得出 true的结论,虽然这个毫无意义,这个条件语句该如何写呢?是不是书写起来复杂了?
      

  5.   


    我想问,如果两个null,我想比较得出 true的结论,虽然这个毫无意义,这个条件语句该如何写呢?是不是书写起来复杂了?
    没法得到这个结论,null调用equals就已经报空指针异常了,所以你要通过条件判断第一个不能为null。
      

  6.   

    Groovy里面可以用==处理字符串的相等