Arrays.asList的用法,注意事项

博客探讨了Arrays.asList方法将数组转换为集合时的限制,指出转换后的集合不支持add、remove和clear等修改操作,因为其内部实现类未重写这些方法,会抛出UnsupportedOperationException。《阿里巴巴Java开发手册》也强调了这一问题,建议仅用于读取操作,避免修改集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Arrays.asList 用法

将数组转换为集合

String[] s = {"a","b","c"};
List<String> list = java.util.Arrays.asList(s);

当我们对转换之后的集合做以下操作时会抛出java.lang.UnsupportedOperationException异常。

list.add("1");
list.remove("1");
list.clear();

解析源码可以看出:
我们发现 Arrays.asList 返回的 ArrayList类 是 Arrays类的内部类,这个类重写了很多常用方法, 却没有重写我们的add/remove/clear方法,所以在使用时会抛出java.lang.UnsupportedOperationException异常。

《阿里巴巴Java开发手册》泰山版 提及:
使用工具类 Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,它的 add/remove/clear
方法会抛出 UnsupportedOperationException 异常。

总结:我们在使用Arrays.asList时,可以用于简单的参数效验,避免去改变list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值