class strb
{
static public void main(String...string)
{
StringBuilder s1 = new StringBuilder("Test");
StringBuilder s2 = new StringBuilder("Test");
System.out.println(s1);
System.out.println(s2);
System.out.println(s1==s2);
System.out.println(s1.equals(s2)); //Line 1
System.out.println(s1.toString()==s2.toString()); //Line 2
if(s1.toString()==s2.toString())System.out.println("True"); //Line 3
}
}
そして、出力は
Test
Test
false
false
.equals について簡単な質問があります。
オブジェクトの内容に関係なく、.equals
両方のオブジェクト参照が同じオブジェクトを指している場合にのみ true を返しますか?
EDIT:今、私はについての部分を理解しています.equals
が、なぜ2行目と3行目も返されないのtrue
ですか?
編集:==
参照変数のアドレスを見て、s1とs2を等しくすることはできないと信じています。私の仮定が正しくない場合は修正してください