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使用注意事项相关推荐

  1. Arrays.asList 方法注意事项

    由于jdk5.0以上支持动态参数,所以 aslist的参数不能是基本类型,如果是基本类型 会将整个数组当成参数,如果是包装类 就会展开数组 转载于:https://www.cnblogs.com/su ...

  2. Java开发规范01 - 集合篇_Arrays.asList 坑

    文章目录 Arrays.asList 规则 Code add - java.lang.UnsupportedOperationException 源码分析 remove - java.lang.Uns ...

  3. 后端:请谨慎使用Arrays.asList、ArrayList的subList

    1. 使用Arrays.asList的注意事项 1.1 可能会踩的坑 先来看下Arrays.asList的使用: List<Integer> statusList = Arrays.asL ...

  4. js 如何将java list集合转换成var类型数组_零基础参加郑州Java培训 一定要注意Arrays.asList的用法...

    作为编程界的老大哥,Java一直是想要加入互联网行业的人的首选.为了能够更快更好地入行,很多零基础学员选择参加郑州Java培训班,跟着老师的脚步由浅入深的学习专业技术.今天千锋郑州小编就给大家分享使用 ...

  5. 使用Arrays.asList、ArrayList的subList时,你有踩过这些坑吗?

    前沿技术早知道,弯道超车有希望 积累超车资本,从关注DD开始 作者:申城异乡人, 图文编辑:xj 来源:https://blog.csdn.net/zwwhnly/article/details/10 ...

  6. 请谨慎使用Arrays.asList、ArrayList的subList

    1. 使用Arrays.asList的注意事项 1.1 可能会踩的坑 先来看下Arrays.asList的使用: List<Integer> statusList = Arrays.asL ...

  7. 在项目中用了Arrays.asList、ArrayList的subList,被老大公开批评

    推荐阅读:这几个已经淘汰的Java技术,请不要在继续学了!!! 使用Arrays.asList的注意事项 1.可能会踩的坑 先来看下Arrays.asList的使用: List<Integer& ...

  8. 在项目中使用Arrays.asList、ArrayList的subList,被老大点名批评~

    1. 使用Arrays.asList的注意事项 1.1 可能会踩的坑 先来看下Arrays.asList的使用: List<Integer> statusList = Arrays.asL ...

  9. Arrays.asList()使用时的注意事项,这个结论同可适用于Stream.of()___Arrays.stream和Stream.of

    Arrays.asList()使用时的注意事项,这个结论同可适用于Stream.of() Arrays.asList的参数不能是基本数据类型的数组 Array.asList()的作用是把数组变成一个列 ...

最新文章

  1. phpstudy一个域名配置两个网站(一个是thinkphp5,一个是原生php)
  2. Linux下中文man帮助安装。
  3. Oracle11g新特性之动态变量窥视
  4. jQuery EasyUI dialog 居中最简单的办法
  5. rosdep update 报错: File “/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py“, line 829
  6. windows下如何在命令行里切换到任意目录
  7. 0515 银行转帐功能演练
  8. [译] 第十一天: AeroGear Push Server - 轻松推送提示信息
  9. c#截取两个指定字符串中间的字符串
  10. caffe 利用Python API 做数据输入层
  11. AS3.0文档类:FLASH右键菜单文档类
  12. Atitit.c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结
  13. 51单片机学习历程(二)快速入门51单片机
  14. 莫烦强化学习-Q Learning
  15. SketchUp Pro2019注册机|草图大师SketchUp Pro 2019注册破解补丁下载(附SketchUp Pro 2019许可证)
  16. 54份运算放大器书籍、文档资料合集(54份 0.46G)
  17. 微信扫一扫扫描二维码带参
  18. 使用LTT升级HP磁带机的固件程序
  19. mysql msvcp140.dll修复_丢失msvcp140.dll怎么办
  20. html怎样给图片铺热区,HTML图片热区map area的用法

热门文章

  1. js移除html指定id元素,javascript - 按ID删除元素
  2. unity 小任务一之点击方块变色
  3. 无需宏,PPT也能用来投递恶意程序
  4. 安卓Andriod使用入门(八)【联动ListView】
  5. 微信版“花呗”即将出炉,信用支付市场迎来新的转折
  6. 卡内基梅隆计算机专业,卡内基梅隆大学计算机学院院长一行访问计算机系-清华大学新闻网...
  7. 对于软件价值管理的思考--《PMO论文集2019》(电子版)
  8. 在CMD窗口打开mysql
  9. 双十一的区块链“大战”
  10. 65位高校教师接龙晒工资,给打算入高校的博士们参考!