重複の可能性:
Java での文字列比較と文字列インターン
Java での文字列の比較について少し疑問があります。次のコードを検討してください。
if("String".replace('t','T') == "String".replace('t','T')) {
System.out.println("true");
}
else {
System.out.println("false");
}
上記のコードは常に 'sfalse
を出力します。
if("STring" == "STring") {
System.out.println("true");
}
else {
System.out.println("false");
}
それは常に私を印刷しますtrue
。String.equals() or equalsIgnoreCase()
はい、文字列の比較はメソッドで行う必要があることは知っています。しかし、これはインタビューで尋ねられた質問の1つであり、私は混乱しています. 誰でもこの動作について教えてもらえますか?
私の知る限り、コード スニペット 1 では"String.replace('t','T')
オブジェクトが返されているため、オブジェクトの比較では false が返されます。私は正しいですか?