System.out.printlnの挙動について
下記ソースがあります。
1 public class Sub {
2 __public static void main(String[] args) {
3 __//test();
4 __String str1 = "AAA";
5 __String str2 = "BBB";
6 __String str3 = new String("AAA");
7 __//str1 = new String("AAA");
8 __System.out.println("str1.hashCode() = " + str1.hashCode());
9 System.out.println("str2.hashCode() = " + str2.hashCode());
10__System.out.println("str3.hashCode() = " + str3.hashCode());
11__System.out.println("str3.equals(str1) = " + str3.equals(str1));
12__System.out.println("str3 == str1 = " + str3 == str1);
13}
14}
上記をコンパイルして実行した結果が下記になります
str1.hashCode() = 64545
str2.hashCode() = 65538
str3.hashCode() = 64545
str3.equals(str1) = true
false
12行目の内容が「false」しか出力されていなく、「str3 == str1 = 」が何故か消えています。
理由をご存じの方は教えていただきたく思います。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。