java.lang.UnsupportedOperationException异常解决

在执行如下代码时,发现当apps.add("...");代码执行时,会报java.lang.UnsupportedOperationException错误

        List<String> apps = Arrays.asList("...");
         apps.add("...");

问题出现的原因如下:

1、ArrayList有两个包java.util.ArrayList包;java.util.Arrays.ArrayList包

2、调用Arrays.asList()生成的List,返回的是Arrays的内部类ArrayList而不是java.util.ArrayList,add、remove方法时会报异常 。

3、java.util.ArrayList重写了父类的add和remove,所以使用asList继承的父类的add和remove,会抛出UnsupportedOperationException异常

解决问题方法如下:

        List<String> apps = new ArrayList<>(Arrays.asList("..."));
         apps.add("...");

总结:使用asList方法继承的父类的add和remove,会抛出java.lang.UnsupportedOperationException异常,java.util.ArrayList重写了父类的add和remove,所以需要使用ArrayList来调用方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值