zoukankan      html  css  js  c++  java
  • java.lang.UnsupportedOperationException解决方法

     项目中错误代码:

      String deptId = user.getDeptId();
      String[] newTaskUdtkObjIds = taskVO.getTaskUdtkObjIds();
      List<String> list = Arrays.asList(newTaskUdtkObjIds);
      if (!CollectionUtils.isEmpty(list) && list.contains(deptId)){
       list.remove(deptId);
      }
    项目控制台打印错误日志:

    问题原因如下:

      调用Arrays.asList()的List的add、remove方法时报异常,这是由Arrays.asList() 返回的是Arrays的内部类ArrayList, 而不是java.util.ArrayList。Arrays的内部类ArrayList和java.util.ArrayList都是继承AbstractList,remove、add等方法AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。java.util.ArrayList重写了这些方法而Arrays的内部类ArrayList没有重新,所以会抛出异常。

    解决方法如下:

      String[] newTaskUdtkObjIds = taskVO.getTaskUdtkObjIds();
      List<String> arrList = Arrays.asList(newTaskUdtkObjIds);
      List newArrList = new ArrayList(arrList);
      if (!CollectionUtils.isEmpty(newArrList) && newArrList.contains(deptId)){
       newArrList.remove(deptId);
      }

      

  • 相关阅读:
    汽车租赁系统
    两种设计模式(2)==>>"单例"
    两种设计模式(1)==>>“简单工厂”
    面向对象设计的七大原则
    springboot中的mybatis是如果使用pagehelper的
    vue
    vue
    vue
    idea快捷键
    idea部署tomcat项目时,在项目里打断点不能拦截
  • 原文地址:https://www.cnblogs.com/sixuhuadan/p/12904445.html
Copyright © 2011-2022 走看看