如下代码:

Map[] cardProds = JsonUtils.getObject(oldCartValue, new TypeReference<Map[]>(){});
List<Map> tempList = Arrays.asList(cardProds);
tempList.add(1, requestMap);
tempList.remove(0);

红色部分都会报 java.lang.UnsupportedOperationException 的错误,原因是 Arrays.asList(cardProds) 方法返回值的类型是 Arrays 类的内部类 java.util.Arrays.ArrayList<E>,这个 ArrayList 也继承自 java.util.AbstractList<E> 类,但是这个 ArrayList 并没有像 java.util.ArrayList<E> 类那样实现 java.util.AbstractList<E> 类的public void add(int index, E element) 、 public E remove(int index) 这两个方法,当使用 Arrays.asList(cardProds) 返回的 java.util.Arrays.ArrayList<E> 类的这两个方法时会直接调用 java.util.AbstractList<E> 类对应的两个方法。

而通过查看 java.util.AbstractList<E> 类的这两个方法发现,这两个方法都直接抛出了 UnsupportedOperationException() 的异常,没有做任何其他的事,也就意味着想要调用这两个方法,必须通过子类重写这两个方法才能完成调用。

图:java.util.AbstractList<E> 类的public void add(int index, E element) 、 public E remove(int index) 这两个方法的源码

参考:

https://blog.csdn.net/Tracycater/article/details/77592472

java.lang.UnsupportedOperationException 原因以及解决方案的更多相关文章

  1. java.lang.UnsupportedOperationException

    在运行路况预测这个项目时,报错出现:java.lang.UnsupportedOperationException 原因:我将1.3版本和1.6版本的两个jar包都Add to Build Path ...

  2. MyBaties 异常之 java.lang.UnsupportedOperationException

    sql语句 对应的接口为: 包错误的详情为: java.lang.UnsupportedOperationException 原因: resultType返回的是集合中的元素类型,而不是集合本身 SQ ...

  3. Android -- Canvas java.lang.UnsupportedOperationException

    干货 java.lang.UnsupportedOperationException at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:2 ...

  4. java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12

    最近使用Android Studio开发一个新项目,刚做完几个界面,跑在android 5.0上面很正常,因为都是挺简单的布局,本以为应该不存在兼容性问题(Flag啊). 偶然用了一个4.x的实机测试 ...

  5. java.lang.UnsupportedOperationException: Not supported by BasicDataSource

    场景: SpringMVC+Hibernate+Maven 问题: 在src/main/resources 目录中添加hibernate.properties文件, 则如果存在这句hibernate. ...

  6. mybatis java.lang.UnsupportedOperationException

    mybatis抛出下面的异常: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exc ...

  7. java 异常java.lang.UnsupportedOperationException

    在项目中采用一个枚举的集合,本人采用Collections中的空集合Collections.emptyList()在添加时发生异常: 常见集合如下: private List<VacationC ...

  8. android 4.0 中出错 java.lang.UnsupportedOperationException

    在android4.0中  画图的时候使用: canvas.clipPath(path, Region.Op.XOR); 报错 java.lang.UnsupportedOperationExcept ...

  9. 使用Arrays.asList抛出java.lang.UnsupportedOperationException

    使用 Arrays.asList("str1", "str2")生成的List,不能进行remove.add操作,会产生异常java.lang.Unsuppor ...

随机推荐

  1. 你会用setTimeout吗

    定义很简单 setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 广泛应用场景 定时器,轮播图,动画效果,自动滚动等等 上面一些应该是setTimeout在大家心中的样子,因为我们 ...

  2. 导出CSV

    public FileResult ExportExcel() { var sbHtml = new StringBuilder(); sbHtml.Append("<table bo ...

  3. 微信小程序可用的第三方库

    1.wxDraw 轻量的小程序canvas动画库,专门用于处理小程序上canvas 的图形创建.图形动画,以及交互问题. 链接:http://project.ueflat.xyz/#/ 2.ZanUi ...

  4. jq学习总结之方法

    三.方法 1.length 2.index()3.get() reverse()4.not()5.filter()6.find()7.each()8.addBack()9.attr()10.toggl ...

  5. c#-day03学习笔记

    循环语句 一共有三种 1: For循环 2: while 循环 3: do while 循环 //1             //2             //4 For循环  语法       f ...

  6. IIS设置问题

    1.解决IIS7.5中部署WCF时,访问.svc文件的404错误问题  如果你直接在IIS 7中配置WCF,访问.svc文件时会出现404错误.解决方法,以管理员身份进入命令行模式,运行:" ...

  7. web子项目的路径问题

    http://baidu.com/userms/ userms是一个子应用程序,项目中使用的路径 /content/css/..   从http://baidu.com/  开始 ~/content/ ...

  8. Windbg工具使用

    https://www.cnblogs.com/startpoint/p/4194052.html https://www.cnblogs.com/lyl6796910/p/7613664.html ...

  9. idea 插件描述(转)

    提供些idea插件的干货.干货.干货! 如何安装idea plug,方法如下图:如果安装不了考虑下是否代理问题: 1,maven helper 以前查看maven依赖都比较麻烦,需要用命令maven ...

  10. ansible的安装及命令相关模块

    ansible 第一步:下载epel源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos- ...