回答編集履歴

2

インスタンスが文字列プールに登録されるのはいつか(追記)

2022/11/24 11:44

投稿

xebme
xebme

スコア1081

test CHANGED
@@ -1,4 +1,4 @@
1
- **参照を調べる**
1
+ **ハッシュコード値を調べる**
2
2
 
3
3
  System#identityHashcodeを使ってStringオブジェクト本来のハッシュコード値を見ることができます。
4
4
 
@@ -43,3 +43,19 @@
43
43
  System.out.println(("Ja" + "va") == "Java");
44
44
  System.out.println(("Ja" + "va").intern() == "Java");
45
45
  ```
46
+
47
+
48
+ **インスタンスが文字列プールに登録されるのはいつか(追記)**
49
+
50
+ 最初にインスタンスが文字列プールへ登録されるのはどのタイミングですか。
51
+
52
+ - 最初にString.intern()したとき
53
+ - 最初に文字列リテラルを使ったとき
54
+
55
+ ```Java
56
+ String str1 = new String(new char[] {'J','a','v','a'});
57
+ String str3 = str1.intern();
58
+ String str2 = "Java";
59
+ ```
60
+
61
+ このような出題 もないと思います。

1

参照とハッシュコード値が同じではないという指摘を受けて、訂正しました。

2022/11/24 11:21

投稿

xebme
xebme

スコア1081

test CHANGED
@@ -1,6 +1,6 @@
1
1
  **参照を調べる**
2
2
 
3
- System#identityHashcodeを使って参照(32ビットの整数)を見ることができます。
3
+ System#identityHashcodeを使ってStringオブジェク本来ハッシュコード値を見ることができます。
4
4
 
5
5
  ```Java
6
6
  String str1 = new String("Java");