作者:我想问问天
来源:https://juejin.im/post/5d10e52ee51d454f6f16ec11
引语:
问题分析:
public static void main(String[] args) {List<String> list = Arrays.asList("a", "b", "c");// list.clear();// list.remove("a");// list.add("g");}
public static <T> List<T> asList(T... a) {return new ArrayList<>(a);}
private static class ArrayList<E> extends AbstractList<E>implements RandomAccess, java.io.Serializable{private static final long serialVersionUID = -2764017481108945198L;private final E[] a;ArrayList(E[] array) {a = Objects.requireNonNull(array);}public int size() {return a.length;}public Object[] toArray() {return a.clone();}("unchecked")public <T> T[] toArray(T[] a) {int size = size();if (a.length < size)return Arrays.copyOf(this.a, size,(Class<? extends T[]>) a.getClass());System.arraycopy(this.a, 0, a, 0, size);if (a.length > size)a[size] = null;return a;}// 后面省略了
public void add(int index, E element) {throw new UnsupportedOperationException();}public E remove(int index) {throw new UnsupportedOperationException();}
总结:
1. Arrays.asList()不要乱用,底层其实还是数组。
2. 如果使用了Arrays.asList()的话,最好不要使用其集合的操作方法。
3. List list = new ArrayList<>(Arrays.asList("a", "b", "c"))可以在外面这样包一层真正的ArrayList。
https://stackoverflow.com/questions/157944/create-arraylist-from-array
如果喜欢本篇文章,欢迎转发、点赞。关注订阅号「Web项目聚集地」,回复「全栈」即可获取 2019 年最新 Java、Python、前端学习视频资源。
推荐阅读
1. 经常用 HashMap ?这 6 个问题回答下 !
2. 数据库这么多锁,能锁住小姐姐吗?
3. 小白也能看懂,30 分钟搭建个人博客!
4. 快来薅当当的羊毛 !
5. 聊一聊 Java 泛型中的通配符
6. 数据库不使用外键的 9 个理由

在看

本文分享自微信公众号 - Java后端(web_resource)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
版权声明:程序员胖胖胖虎阿 发表于 2022年9月21日 上午11:24。
转载请注明:为什么阿里巴巴开发手册明确说明 Arrays.asList() 不能使用其修改方法? | 胖虎的工具箱-编程导航
转载请注明:为什么阿里巴巴开发手册明确说明 Arrays.asList() 不能使用其修改方法? | 胖虎的工具箱-编程导航
相关文章
暂无评论...
