回答編集履歴

5

修正

2022/12/30 17:41

投稿

jimbe
jimbe

スコア12632

test CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  ![参照状態遷移図](https://ddjkaamml8q8x.cloudfront.net/questions/2022-12-30/608337a5-7ebd-4502-9fd8-667ef98cebfa.png)
4
4
 
5
- int (等のプリミティブ)の場合は変数に直に値が入り stack に入るのは autoboxing された Integer オブジェクトであって参照のように共有状態にならない為、各変数を変更しても他に影響はありません。
5
+ int (等のプリミティブ)の場合は変数に直に値が入り stack に入るのは autoboxing されたオブジェクトであって参照のように共有状態にならない為、各変数を変更しても他に影響はありません。
6
6
 
7
7
  ![プリミティブの場合の図](https://ddjkaamml8q8x.cloudfront.net/questions/2022-12-30/8e74fc31-eae7-4ca8-ad82-e1d36d9a003f.png)

4

解決していますが、質問内の例と対応する説明として int の場合の図を追加

2022/12/30 11:01

投稿

jimbe
jimbe

スコア12632

test CHANGED
@@ -1,4 +1,7 @@
1
1
  配列はオブジェクトで、オブジェクト変数は参照です。参照先の "内容の" 変更は、同じオブジェクトを指す参照全てに影響します。
2
- Integer もオブジェクトですが不変のため、変数の変更は "参照の" 変更となり、他の参照は変わらないので配列の内容の変更のようにはなりません。
3
2
 
4
3
  ![参照状態遷移図](https://ddjkaamml8q8x.cloudfront.net/questions/2022-12-30/608337a5-7ebd-4502-9fd8-667ef98cebfa.png)
4
+
5
+ int (等のプリミティブ)の場合は変数に直に値が入り stack に入るのは autoboxing された Integer オブジェクトであって参照のように共有状態にならない為、各変数を変更しても他に影響はありません。
6
+
7
+ ![プリミティブの場合の図](https://ddjkaamml8q8x.cloudfront.net/questions/2022-12-30/8e74fc31-eae7-4ca8-ad82-e1d36d9a003f.png)

3

図を追加

2022/12/30 04:39

投稿

jimbe
jimbe

スコア12632

test CHANGED
@@ -1,2 +1,4 @@
1
1
  配列はオブジェクトで、オブジェクト変数は参照です。参照先の "内容の" 変更は、同じオブジェクトを指す参照全てに影響します。
2
2
  Integer もオブジェクトですが不変のため、変数の変更は "参照の" 変更となり、他の参照は変わらないので配列の内容の変更のようにはなりません。
3
+
4
+ ![参照状態遷移図](https://ddjkaamml8q8x.cloudfront.net/questions/2022-12-30/608337a5-7ebd-4502-9fd8-667ef98cebfa.png)

2

修正

2022/12/30 04:10

投稿

jimbe
jimbe

スコア12632

test CHANGED
@@ -1,2 +1,2 @@
1
- 配列はオブジェクトで、オブジェクト変数は参照です。参照先の "内容の" 変更は、その配列を参照する変数全てに影響します。
1
+ 配列はオブジェクトで、オブジェクト変数は参照です。参照先の "内容の" 変更は、同じオブジェクト指す参照全てに影響します。
2
2
  Integer もオブジェクトですが不変のため、変数の変更は "参照の" 変更となり、他の参照は変わらないので配列の内容の変更のようにはなりません。

1

修正

2022/12/30 04:08

投稿

jimbe
jimbe

スコア12632

test CHANGED
@@ -1,2 +1,2 @@
1
- 配列はオブジェクトで、オブジェクト変数は参照です。配列の内容変更すれば、その配列をす変数全て変わったよう見えます。
1
+ 配列はオブジェクトで、オブジェクト変数は参照です。参照先 "内容の" 変更、その配列を参照変数全てに影響します。
2
- Integer もオブジェクトですが不変のため、変数の変更は参照するオブジェクトの変更となり他からの参照は変わらないので配列の内容の変更のようにはなりません。
2
+ Integer もオブジェクトですが不変のため、変数の変更は "参照の" 変更となり他の参照は変わらないので配列の内容の変更のようにはなりません。