关于Arrays.asList()造成的java.lang.UnsupportedOperationException异常

项目中用Arrays.asList()将数组转成List集合后,进行remove操作会报java.lang.UnsupportedOperationException异常。原因是转换后的ArrayList类对象是Arrays内部的,未实现remove方法。解决办法是直接创建一个ArrayList类,用addAll方法传入值,即可进行remove等操作。

触发原因

在项目中,利用Arrays.asList()将数组转成List集合后,并对其进行remove操作时报java.lang.UnsupportedOperationException异常;

查询博客后,是因为转换后的ArrayList类对象是Arrays内部的,并没有实现remove方法,所以在使用的时候,直接报父类AbstractList抛出的java.lang.UnsupportedOperationException异常;

具体详情参考博客:https://blog.csdn.net/qq_33774822/article/details/83213947;

解决办法

直接创建一个ArrayList类,并用addAll的方法将值传入。这样就能对其进行remove或其他操作

List<String> list=new ArrayList<String>();
list.addAll(Arrays.asList("1,2,3,4".split(",")));
		
System.out.println(list);//[1, 2, 3, 4]
list.remove(0);
System.out.println(list);//[2, 3, 4]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值