关于Arrays.asList的问题
来源:互联网 发布:视频字幕合并软件 编辑:程序博客网 时间:2024/05/22 03:51
将数组转成List问题,通常我们习惯这样写成:List<String> list = Arrays.asList("1","2");
于是我们这样就得到了一个list,但是这个List的实现类是java.util.Arrays.ArrayList这个类(而不是java.util.ArrayList)。
剖析JDK源代码可以发现,java.util.Arrays.ArrayList(就是转换出来list)它是继承了java.util.AbstractList这个类。
再来看看java.util.AbstractList类是啥样子的?可以发现
public E set(int index, E element)
public E set(int index, E element)
public E remove(int index)
public void add(int index, E element) | public boolean add(E e)调用add(int index, E element)
以上方法的实现全部是抛出UnsupportedOperationException异常。
因此有Arrays.asList转换出来的List他其实是一个AbstractList,他可以像List一样访问,但是不可其做任何修改操作。
这也说明了,为什么Arrays.asList出来的List,对其做add、remove操作为抛出UnsupportedOperationException异常,从JDK代码角度上,原因在此。
换句话说,其实java.util.Arrays.ArrayList其实只是对数组做了一个装饰,可以看到里面的实现,E get(int index)、E set(int index, E element)等方法都是对数组的操作,他的目的只是提供了可以像访问List那样来访问数组而已。本质上其实还是一个数组。
- 关于Arrays.asList的问题
- 关于Arrays的asList()
- Arrays.asList()的删除问题
- 关于Arrays.asList(arrays)
- 关于arrays 中aslist 转换问题
- 关于Arrays.asList()
- 关于Arrays.asList
- java.util.Arrays.asList 的小问题
- Arrays.asList的使用及异常问题
- Arrays.asList的使用及异常问题
- Arrays.asList传入参数的问题
- Arrays类asList()方法遇到的问题
- java.util.Arrays.asList 的小问题
- Arrays.asList(T...a)的使用问题
- Arrays.asList的用法:
- Arrays.asList的解析。
- Arrays.asList的用法
- Arrays.asList 的坑
- C#接口和抽象类的区别
- Windows7 32位与64位/x86与x64的区别
- 移动计费系统学习(五)
- jquery实现隔行变色效果
- Android平台版本大全(注意版本号首字母原来是有规律的)
- 关于Arrays.asList的问题
- 3G技术版块资料网站
- jquery选择器
- Excel单元格列名转化成函数
- javascript和jquery的dom对比
- 选择产品型公司还是项目型公司呢
- powercenter 提示ora-03135错误
- 关于字符串非空判断效率问题
- Linux之Inode详解