Bur*_*man 0 java java-collections-api
String[] arr = { "Java", "Champ", "." };
List<String> list = (List<String>) Arrays.asList(arr); // line 1
arr[2] = ".com"; // line 2
for (String word : list) {
System.out.print(word);
}
Run Code Online (Sandbox Code Playgroud)
JavaChamp.com即使它在第1行中转换为List并在第2行中修改,结果如何输出
Arrays.asList不会将数组复制到列表中 - 它会在数组中创建一个视图.您通过列表进行的任何更改都会影响数组,反之亦然.这就是为什么你不能添加(或删除)由Arrays.asList- 返回的列表- 因为数组本身不能改变大小.
该文档在一个方向上明确了这一点:
返回由指定数组支持的固定大小的列表.(对返回列表的更改"直写"到数组.)
...但它有两种方式,因为列表没有专用的后备存储.它确实只是由阵列支持.
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |