错误的代码
private List<String> mImgs;
mImgs = Arrays.asList(mOriginSImgs);
mImgs.remove(i);//这里报错
运行异常:java.lang.UnsupportedOperationException
发生问题原因如下:
1、在text类中存在两个包:a、java.util.ArrayList包;b、java.util.Arrays.ArrayList包(重点)
2、调用Arrays.asList()生产的List的add、remove方法时报异常,这是由Arrays.asList() 返回的是Arrays的内部类ArrayList, 而不是java.util.ArrayList。
3、使用asList方法继承的父类的add和remove,只会抛出UnsupportedOperationException异常,java.util.ArrayList重写了父类的add和remove
4、所以要ArrayList才能正确使用add()方法。
解决办法:
mImgs.addAll(Arrays.asList(mOriginSImgs));
总结:
这个错误来源于我老师分享于他的一道面试题;
知识点就是使用asList方法继承的父类的add和remove,只会抛出UnsupportedOperationException异常,java.util.ArrayList重写了父类的add和remove,所以需要ArrayList来调用方法文章来源:https://www.toymoban.com/news/detail-722269.html
参考:java.lang.UnsupportedOperationException的解决方法_顾婉宁的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-722269.html
到了这里,关于java.lang.UnsupportedOperationException的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!