为什么我新建的对象不等于String?

时间:2014-01-04 11:13:01

标签: java

String s1 = "abcdef";
String s3 = new String(s1);
    if(s3 == s1){
     System.out.printf("yes");   
    }else{
            System.out.printf("no");
         }   

为什么不打印是?谁可以向我解释一下?

2 个答案:

答案 0 :(得分:2)

s3 == s1更改为s3.equals(s1)

==运算符或将检查它们是否是同一个对象,而不是它们的字符串值。

答案 1 :(得分:0)

当你处理对象时,你应该使用他们的equals方法,而不是==

检查以获得进一步说明: Java String.equals versus ==