2019独角兽企业重金招聘Python工程师标准>>>

参考链接:阿里巴巴Java开发手册终极版v1.3.0

【强制】使用工具类 Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方
法,它的 add/remove/clear 方法会抛出 UnsupportedOperationException 异常。
说明:asList 的返回对象是一个 Arrays 内部类,并没有实现集合的修改方法。Arrays.asList
体现的是适配器模式,只是转换接口,后台的数据仍是数组。String[] str = new String[] { "you", "wu" };List list = Arrays.asList(str);
第一种情况:list.add("yangguanbao"); 运行时异常。
第二种情况:str[0] = "gujin"; 那么 list.get(0)也会随之修改。

使用Array.asList()初始化一个List集合,就不能再添加新的元素,因为初始化的是一个固定大小的数组,来看Arrays源码。

List<String> seasons = Arrays.asList("Spring", "Summer", "Fall");
seasons.add("Winter");
System.out.println("seasons:"+seasons.toString());

运行结果:

Exception in thread "main" java.lang.UnsupportedOperationExceptionat java.util.AbstractList.add(Unknown Source)at java.util.AbstractList.add(Unknown Source)at com.jerry.entity.ListDemo.main(ListDemo.java:10)

在Java 7以后,实现集合里面不必写明具体的元素类型。

ArrayList的两种用法:

package com.jerry.entity;import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;public class ListDemo {public static void main(String[] args) {List<String> seasons = Arrays.asList("Spring", "Summer", "Fall");
//      seasons.add("Winter"); // throw UnsupportedOperationExceptionSystem.out.println("seasons:"+seasons.toString());List<String> seasons2 = new ArrayList<>(seasons);seasons2.add("Winter");System.out.println("seasons2:"+seasons2.toString());List<String> seasons3 = new ArrayList<>();seasons3.add("Spring");seasons3.add("Summer");seasons3.add("Fall");seasons3.add("Winter");System.out.println("seasons3:"+seasons3.toString());// java 8List<String> seasons4 = Stream.of("Spring", "Summer", "Fall").collect(Collectors.toList());System.out.println("seasons4:"+seasons4.toString());}}

运行结果:

seasons:[Spring, Summer, Fall]
seasons2:[Spring, Summer, Fall, Winter]
seasons3:[Spring, Summer, Fall, Winter]
seasons4:[Spring, Summer, Fall]

List<String>的几种用法:

转载于:https://my.oschina.net/u/3781047/blog/1627493

Java 集合 List Arrays.asList相关推荐

  1. 数组转集合问题Arrays.asList()

    数组转集合问题Arrays.asList() 1. 源码: Arrays.class public static <T> List<T> asList(T... a) {//A ...

  2. Java 关于使用Arrays.asList()数组转集合的问题

    在使用工具类Arrays.asList()把数组转换成集合时,不能使用其修改集合的相关方法,他的add/remove/clear方法都会抛出UnsupportedOperationException异 ...

  3. Java数组转集合之Arrays.asList()用法

    Arrays.asList()用法 使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合. 而一开始asList的设计时用于打印数组而设计 ...

  4. Exception in thread “main“ java.lang.UnsupportedOperationException Arrays.asList中add报错

    public static void main(String[] args) {List<Integer> integers = Arrays.asList(new Integer[]{1 ...

  5. java lists.aslist_java Arrays.asList()

    在Java中比如想把一个数组转成集合,通常习惯使用Arrays.asList,但是要小心,数组通过Arrays.asList转成集合后,是不能调用集合的add,remove方法的.不然会抛异常Unsu ...

  6. Java集合之Arrays和Collections

    转载自:http://liuguoquan727.github.io/2015/12/18/Java%E9%9B%86%E5%90%88%E4%B9%8BArrays%E5%92%8CCollecti ...

  7. 【JAVA】谈谈Arrays.asList()

    我们在日常的开发中,常常使用到Arrays.asList()这个方法,它能够很轻易地将一个数组转化为一个List. 例如: Integer[] a = new Integer[]{1, 2, 3};L ...

  8. 直接添加集合对象Arrays.asList()

  9. java 集合数组初始化_Java用Arrays.asList初始化ArrayList实例方法

    Java用Arrays.asList初始化ArrayList实例方法 发布于 2020-2-29| 复制链接 在本篇文章里小妖给大家分享的是关于Java中使用Arrays.asList初始化Array ...

最新文章

  1. realloc函数引发的慘案
  2. 装了java_下载安装Java
  3. 区块链BaaS云服务(17)纸贵科技Z-BaaS“数据治理”
  4. 【火炉炼AI】机器学习013-用朴素贝叶斯分类器估算个人收入阶层
  5. mrunit_使用MRUnit测试Hadoop程序
  6. 有限状态自动机java实现_用java开发编译器之:Thompson构造,将正则表达式转换为有限状态自动机...
  7. 任正非:感谢美国,帮我把华为给全世界都宣传了
  8. python实现rsa加密解密代码_使用python实现rsa算法代码
  9. 21个以Bootstrap为框架的WordPress免费主题模板下载
  10. 等压线上怎么画风向_如何利用等压线图判定天气
  11. java编写智能合约_区块链实现JAVA语言智能合约的设计方案简介
  12. keil5怎么添加stc芯片库
  13. Note8 android 9 root,红米Note8 MIUI11 安卓9 解账户锁 可登小米账号 永不反锁 完美ROOT 解锁包...
  14. 阿里云服务器租用价格表最新发布,持续更新
  15. VMware14 kali linux安装教程
  16. html 6是什么格式,ac6是什么格式
  17. conda failed to create process
  18. 多級commentable處理
  19. MySQL-基础练习题1
  20. linux的图形界面的管理

热门文章

  1. strictmath_Java StrictMath ceil()方法与示例
  2. Python中abs()和fabs()方法之间的区别
  3. c# sizeof_C#程序演示sizeof()运算符的示例
  4. ffmpeg 解码音频(aac、mp3)输出pcm文件
  5. 远控免杀专题1---基础篇
  6. php终止脚本执行(exit、die、return)
  7. 穿越火线全部服务器都显示爆满,穿越火线大区全部爆满,频道挤不进去背后的故事!...
  8. 网络中典型协议--(DNS,输入url后, 发生的事情. ,ICMP,NAT)
  9. c++中的异常--1(基本概念, c语言中处理异常,c++中处理异常,异常的基本使用,栈解旋)
  10. C++四种强制类型转换