asList使用注意事项
Arrays.asList()用来将输入对象转变为ArrayList对象。
List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
用起来很方便,但使用的时候有几个注意事项:
1.入参避免使用基本数据类型
先看个程序:
public static void main(String[] args) {int[] ints = {1,2,3,4,5};List list = Arrays.asList(ints);System.out.println("size:" + list.size());}
预期结果数组大小应该是5,实际结果却是1:
这是因为asList的入参是泛型,而8种基本数据类型无法泛型化,故而没有报错,转换结果也不对。
asList源码:
public static <T> List<T> asList(T... a) {return new ArrayList<>(a);}
使用8种基本数据类型的包装类型就没有问题:
public static void main(String[] args) {Integer[] ints = {1,2,3,4,5};List list = Arrays.asList(ints);System.out.println("size:" + list.size());
}
2.asList产生的列表不能添加或删除元素
public static void main(String[] args) {Integer[] ints = {1,2,3,4,5};List list = Arrays.asList(ints);list.add(6);}
运行结果:
这是因为asList返回的ArrayList不是java.util.ArrayList,而是Arrays的内部类:
该内部类只支持size、toArray、get、set、indexOf、contains
方法,而像add、remove
等改变list结果的方法从AbstractList父类继承过来,并没有实现。
asList使用注意事项相关推荐
- Arrays.asList 方法注意事项
由于jdk5.0以上支持动态参数,所以 aslist的参数不能是基本类型,如果是基本类型 会将整个数组当成参数,如果是包装类 就会展开数组 转载于:https://www.cnblogs.com/su ...
- Java开发规范01 - 集合篇_Arrays.asList 坑
文章目录 Arrays.asList 规则 Code add - java.lang.UnsupportedOperationException 源码分析 remove - java.lang.Uns ...
- 后端:请谨慎使用Arrays.asList、ArrayList的subList
1. 使用Arrays.asList的注意事项 1.1 可能会踩的坑 先来看下Arrays.asList的使用: List<Integer> statusList = Arrays.asL ...
- js 如何将java list集合转换成var类型数组_零基础参加郑州Java培训 一定要注意Arrays.asList的用法...
作为编程界的老大哥,Java一直是想要加入互联网行业的人的首选.为了能够更快更好地入行,很多零基础学员选择参加郑州Java培训班,跟着老师的脚步由浅入深的学习专业技术.今天千锋郑州小编就给大家分享使用 ...
- 使用Arrays.asList、ArrayList的subList时,你有踩过这些坑吗?
前沿技术早知道,弯道超车有希望 积累超车资本,从关注DD开始 作者:申城异乡人, 图文编辑:xj 来源:https://blog.csdn.net/zwwhnly/article/details/10 ...
- 请谨慎使用Arrays.asList、ArrayList的subList
1. 使用Arrays.asList的注意事项 1.1 可能会踩的坑 先来看下Arrays.asList的使用: List<Integer> statusList = Arrays.asL ...
- 在项目中用了Arrays.asList、ArrayList的subList,被老大公开批评
推荐阅读:这几个已经淘汰的Java技术,请不要在继续学了!!! 使用Arrays.asList的注意事项 1.可能会踩的坑 先来看下Arrays.asList的使用: List<Integer& ...
- 在项目中使用Arrays.asList、ArrayList的subList,被老大点名批评~
1. 使用Arrays.asList的注意事项 1.1 可能会踩的坑 先来看下Arrays.asList的使用: List<Integer> statusList = Arrays.asL ...
- Arrays.asList()使用时的注意事项,这个结论同可适用于Stream.of()___Arrays.stream和Stream.of
Arrays.asList()使用时的注意事项,这个结论同可适用于Stream.of() Arrays.asList的参数不能是基本数据类型的数组 Array.asList()的作用是把数组变成一个列 ...
最新文章
- phpstudy一个域名配置两个网站(一个是thinkphp5,一个是原生php)
- Linux下中文man帮助安装。
- Oracle11g新特性之动态变量窥视
- jQuery EasyUI dialog 居中最简单的办法
- rosdep update 报错: File “/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py“, line 829
- windows下如何在命令行里切换到任意目录
- 0515 银行转帐功能演练
- [译] 第十一天: AeroGear Push Server - 轻松推送提示信息
- c#截取两个指定字符串中间的字符串
- caffe 利用Python API 做数据输入层
- AS3.0文档类:FLASH右键菜单文档类
- Atitit.c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结
- 51单片机学习历程(二)快速入门51单片机
- 莫烦强化学习-Q Learning
- SketchUp Pro2019注册机|草图大师SketchUp Pro 2019注册破解补丁下载(附SketchUp Pro 2019许可证)
- 54份运算放大器书籍、文档资料合集(54份 0.46G)
- 微信扫一扫扫描二维码带参
- 使用LTT升级HP磁带机的固件程序
- mysql msvcp140.dll修复_丢失msvcp140.dll怎么办
- html怎样给图片铺热区,HTML图片热区map area的用法
热门文章
- js移除html指定id元素,javascript - 按ID删除元素
- unity 小任务一之点击方块变色
- 无需宏,PPT也能用来投递恶意程序
- 安卓Andriod使用入门(八)【联动ListView】
- 微信版“花呗”即将出炉,信用支付市场迎来新的转折
- 卡内基梅隆计算机专业,卡内基梅隆大学计算机学院院长一行访问计算机系-清华大学新闻网...
- 对于软件价值管理的思考--《PMO论文集2019》(电子版)
- 在CMD窗口打开mysql
- 双十一的区块链“大战”
- 65位高校教师接龙晒工资,给打算入高校的博士们参考!