class strb
{
static public void main(String...string)
{
StringBuilder s1 = new StringBuilder("Test");
StringBuilder s2 = new StringBuilder("Test");
System.out.println(s1); // output: Test
System.out.println(s2); // Test
System.out.println(s1==s2); // false
System.out.println(s1.equals(s2)); //Line 1 output: false
System.out.println(s1.toString()==s2.toString()); //Line 2 output: false
}
}
关于 .equals
我有一个简短的问题:
无论对象内容如何,只有当对象引用指向同一个对象时,.equals
方法才返回 true 吗?
编辑: 现在我明白了关于 .equals
的部分,但为什么第二行不返回 true
呢?
编辑: 我认为 ==
查看的是引用变量的地址,所以 s1 和 s2 不能相等。如果我的假设不正确,请纠正我。