List.of和List.copyOf的区别是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计375个文字,预计阅读时间需要2分钟。
我知道List.of和List.copyOf可以创建原始列表的不可变备份,所以在我的理解中,下面的代码在打印[1, 2]时应输出[[1], [1, 2], [1, +我已知+List.of+和+List.copyOf+创建了原始列表的不可变备份]。
我知道List.of和List.copyOf创建了原始列表的不可变克隆列表,所以在我的理解中,下面的代码在实际打印[[1,2]]时应该打印[1],[1,2],[1,我知道 List.of 和 List.copyOf 创建了原始列表的不可变克隆列表,所以在我的理解中,下面的代码在实际打印 [[1, 2]] 时应该打印 [1], [1, 2], [1, 2]?List.of 如何获取初始集合 col 的最新视图?
Collection col = new HashSet();col.add(1);var list1 = List.of(col); //1col.add(2); //2var list2 = List.copyOf(col); //3System.out.println(list1+", "+list2);
回答
List.of创建一个以参数s作为元素的新列表。List.copyOf创建一个与单个 Collection参数具有相同元素的新列表。
伪代码示例(注意方括号):
List.of(1,2,3) == [1,2,3]List.copyOf([1,2,3]) == [1,2,3]List.of([1,2,3]) == [[1,2,3]]List.of([1,2,3], [4,5,6]) == [[1,2,3], [4,5,6]]
第三行与您的代码中发生的情况类似。of创建一个以参数为元素的列表。你给的参数是什么?一组可修改。
本文共计375个文字,预计阅读时间需要2分钟。
我知道List.of和List.copyOf可以创建原始列表的不可变备份,所以在我的理解中,下面的代码在打印[1, 2]时应输出[[1], [1, 2], [1, +我已知+List.of+和+List.copyOf+创建了原始列表的不可变备份]。
我知道List.of和List.copyOf创建了原始列表的不可变克隆列表,所以在我的理解中,下面的代码在实际打印[[1,2]]时应该打印[1],[1,2],[1,我知道 List.of 和 List.copyOf 创建了原始列表的不可变克隆列表,所以在我的理解中,下面的代码在实际打印 [[1, 2]] 时应该打印 [1], [1, 2], [1, 2]?List.of 如何获取初始集合 col 的最新视图?
Collection col = new HashSet();col.add(1);var list1 = List.of(col); //1col.add(2); //2var list2 = List.copyOf(col); //3System.out.println(list1+", "+list2);
回答
List.of创建一个以参数s作为元素的新列表。List.copyOf创建一个与单个 Collection参数具有相同元素的新列表。
伪代码示例(注意方括号):
List.of(1,2,3) == [1,2,3]List.copyOf([1,2,3]) == [1,2,3]List.of([1,2,3]) == [[1,2,3]]List.of([1,2,3], [4,5,6]) == [[1,2,3], [4,5,6]]
第三行与您的代码中发生的情况类似。of创建一个以参数为元素的列表。你给的参数是什么?一组可修改。

