Arrays.asList()方法总结
来源:互联网 发布:极乐净土镜头数据 编辑:程序博客网 时间:2024/05/16 18:20
1、该方法对于基本数据类型的数组支持并不好,当数组是基本数据类型时不建议使用 :
public static void test1 () {int[] a_int = { 1, 2, 3, 4 }; /* 预期输出应该是1,2,3,4,但实际上输出的仅仅是一个引用, 这里它把a_int当成了一个元素 */ List a_int_List = Arrays.asList(a_int); for (int i=0 ;i<a_int_List.size();i++ ) { System.out.println(a_int_List.get(i)); }}
输出:[I@4ec4d412
当数组是对象类型时,可以得到我们的预期:
public static void test2 () {Integer[] a_int = { 1, 2, 3, 4 }; List a_int_List = Arrays.asList(a_int); for (int i=0 ;i<a_int_List.size();i++ ) { System.out.println(a_int_List.get(i)); }}输出:
1
2
3
4
2、当使用asList()方法时,数组就和列表链接在一起了。当更新其中之一时,另一个将自动获得更新。
注意:仅仅针对对象数组类型,基本数据类型数组不具备该特性
public static void test3 () {Integer[] a_int = { 1, 2, 3, 4 }; /* 预期输出应该是1,2,3,4,但实际上输出的仅仅是一个引用, 这里它把a_int当成了一个元素 */ List<Integer> a_int_List = Arrays.asList(a_int); a_int_List.set(0, 10); a_int[1]=0; for (int i=0 ;i<a_int_List.size();i++ ) { System.out.println(a_int_List.get(i)); } System.out.println(); for (Integer i : a_int) { System.out.println(i); }}输出:
10
0
3
4
10
0
3
4
3、asList得到的List是Arrays内部类的List,没有add和remove方法(方法很少)
public static void test3 () {Integer[] a_int = { 1, 2, 3, 4 }; /* 预期输出应该是1,2,3,4,但实际上输出的仅仅是一个引用, 这里它把a_int当成了一个元素 */ List<Integer> a_int_List = Arrays.asList(a_int); a_int_List.add(0); for (int i=0 ;i<a_int_List.size();i++ ) { System.out.println(a_int_List.get(i)); } System.out.println(); for (Integer i : a_int) { System.out.println(i); }}
当调用a_int_List.add(0);时,会报错。
0 0
- Arrays.asList()方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Java初学习 - Arrays.asList方法总结
- Arrays.asList(……)方法使用说明
- Arrays.asList()方法介绍
- Arrays.asList()方法使用
- Arrays.asList()方法注意
- [转]OpenResty的现状、趋势、使用及学习方法
- 大数据系列第二课:scala基础
- Backbone.js中events中事件不生效
- AngularJS 控制器
- meteor Package version not in catalog: npm-container
- Arrays.asList()方法总结
- IOS7 8中tableview分割线全屏
- ProgressDialog进度条对话框
- Android 类似未读短信图标显示数字效果的分析
- java.lang.VerifyError解决方案
- MySql ERROR 1205:Lock wait timeout exceeded; try restarting transaction
- 欢迎使用CSDN-markdown编辑器
- 世界摄影大赛获奖精品!令人惊叹!
- 人工生命