シナリオ1文字列インターン方法ロジック
public static void main(String[] args) throws Exception {
String s1 = "Testing";
String s2 = new String("Testing");
s2.intern();
if(s1==s2){
System.out.println("s1 equals to s2");
}else{
System.out.println("s1 is not equal to s2");
}
}
OUTPUT:s1 is not equal to s2
。
シナリオ2
public static void main(String[] args) throws Exception {
String s1 = "Testing";
String s2 = new String("Testing").intern();
if(s1==s2){
System.out.println("s1 equals to s2");
}else{
System.out.println("s1 is not equal to s2");
}
}
OUTPUT:s1 equals to s2
。
私の質問はnew String("Testing")
とnew String("Testing").intern()
の違いは何ですか?
ない重複@TimBiegeleisen。これは、文字列の比較とは関係なく、変数に値を代入することと関連しています。 –
@DavidWallace申し訳ありませんが、すぐに閉じました:-) –
より良い発見:-) –