質問編集履歴

1

具体例の提示。

2016/08/22 13:34

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -5,3 +5,43 @@
5
5
  ということは、防御的コピーを施した実装では参照ではなく、(ゲッターメソッド等が呼び出され)、その際生成したインスタンスがかえされるのということでよろしいのでしょうか。
6
6
 
7
7
  回答お願いします。
8
+
9
+
10
+
11
+ 補足です。
12
+
13
+ ```Java
14
+
15
+ public static void main(String[] args) {
16
+
17
+ String s1 = "a b c";
18
+
19
+ System.out.println(s1);
20
+
21
+ String s2 = replaceSpaces(s1);
22
+
23
+ System.out.println(s1);
24
+
25
+ System.out.println(s2);
26
+
27
+
28
+
29
+ }
30
+
31
+
32
+
33
+ public static String replaceSpaces(String s) {
34
+
35
+ return s.replaceAll(" ", a);
36
+
37
+
38
+
39
+ }
40
+
41
+ ```
42
+
43
+
44
+
45
+ 参照渡し(参照の値渡し)だとs1が編集されるはずですから、s1を表示すると、aabacとなるはずですが、そうはなりません。
46
+
47
+ これが値渡しのように振る舞う例です。