0
0

More than 1 year has passed since last update.

ディープコピー(だと思い込んでいたもの)

Last updated at Posted at 2023-07-25
List<String> a = new ArrayList<>();
a.add("AAA");

List<String> b = a.subList(0,a.size());
b.add("BBB");

List<String> c = new ArrayList<>(a.subList(0,a.size()));
b.add("CCC");

System.out.println(a);
System.out.println(b);
System.out.println(c);

/*
* [AAA, BBB]
* [AAA, BBB]
* [AAA, CCC]
*/

普通に subList -> シャローコピー
subList したものをコンストラクタに渡す -> ディープコピー(もどき)

subListは指定範囲の見かけを返すだけで、切り出してコピーしたりするわけじゃない。
(追って更新します)
(@yoshi さんコメントでのご指摘ありがとうございます!)

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0