java里面add报错_java.util.Arrays$ArrayList addAll报错

执行下面代码时报错:

List centerList =WebConstants.SUPPORT_BIG_CENTERS_LIST; // WebConstants.SUPPORT_BIG_CENTERS_LIST是Arrays.asList转化来的

centerList.removeAll(WebConstants.SUPPORT_CENTERS_LIST);

centerList.addAll(WebConstants.SUPPORT_CENTERS_LIST);

最后一行报错:

java.lang.UnsupportedOperationException: nullat java.util.AbstractList.add(AbstractList.java:148) ~[na:1.8.0_101]

at java.util.AbstractList.add(AbstractList.java:108) ~[na:1.8.0_101]

at java.util.AbstractCollection.addAll(AbstractCollection.java:344) ~[na:1.8.0_101]

查看Arrays$ArrayList的源代码,如下(1.8版本):

private static class ArrayList extends AbstractList

implementsRandomAccess, java.io.Serializable

{private static final long serialVersionUID = -2764017481108945198L;private finalE[] a;

ArrayList(E[] array) {

a=Objects.requireNonNull(array);

}

@Overridepublic intsize() {returna.length;

}

@OverridepublicObject[] toArray() {returna.clone();

}

@Override

@SuppressWarnings("unchecked")public T[] toArray(T[] a) {int size =size();if (a.length

(Class extends T[]>) a.getClass());

System.arraycopy(this.a, 0, a, 0, size);if (a.length >size)

a[size]= null;returna;

}

@Overridepublic E get(intindex) {returna[index];

}

@Overridepublic E set(intindex, E element) {

E oldValue=a[index];

a[index]=element;returnoldValue;

}

@Overridepublic intindexOf(Object o) {

E[] a= this.a;if (o == null) {for (int i = 0; i < a.length; i++)if (a[i] == null)returni;

}else{for (int i = 0; i < a.length; i++)if(o.equals(a[i]))returni;

}return -1;

}

@Overridepublic booleancontains(Object o) {return indexOf(o) != -1;

}

@Overridepublic Spliteratorspliterator() {returnSpliterators.spliterator(a, Spliterator.ORDERED);

}

@Overridepublic void forEach(Consumer super E>action) {

Objects.requireNonNull(action);for(E e : a) {

action.accept(e);

}

}

@Overridepublic void replaceAll(UnaryOperatoroperator) {

Objects.requireNonNull(operator);

E[] a= this.a;for (int i = 0; i < a.length; i++) {

a[i]=operator.apply(a[i]);

}

}

@Overridepublic void sort(Comparator super E>c) {

Arrays.sort(a, c);

}

}

进入父类找下addAll方法:

public boolean addAll(int index, Collection extends E>c) {

rangeCheckForAdd(index);boolean modified = false;for(E e : c) {

add(index++, e);

modified= true;

}returnmodified;

}

实现只存在于父类中,如下所示:

public void add(intindex, E element) {throw newUnsupportedOperationException();

}

父类AbstractList add方法直接抛出异常。

所以问题就在这里,我们改下代码,如下就不报错了:

List centerList = new ArrayList<>();

if (null != WebConstants.SUPPORT_BIG_CENTERS_LIST) {  //addAll的目标是null会报错

centerList.addAll(WebConstants.SUPPORT_BIG_CENTERS_LIST);

}

if (null != WebConstants.SUPPORT_CENTERS_LIST) {

centerList.removeAll(WebConstants.SUPPORT_CENTERS_LIST);

centerList.addAll(WebConstants.SUPPORT_CENTERS_LIST);

}

它调用的就是arrayList的addAll方法了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中的输入语句判断正负_在java中使用方法调用统计数组中正数的个数,将判断数据的正负功能定义成方法...

满意答案donglin820推荐于 2018.04.21public class TestDemo {static int count 0;// 统计整数的个数public static void main(String[] args) {int[] number new int[10];// 动态生成一个整数数组(长度为10)Scanner s new Scanner(System.in);for (int i 0; i < 10; i)…

java 压缩加密 github_关于Java:使用github中的AES-256-CBC加密

本问题已经有最佳答案&#xff0c;请猛点这里访问。我想使用这些课程https://github.com/fukata/AES-256-CBC-示例在我的项目中&#xff0c;但是即使我不进行任何更改而对其进行编译&#xff0c;也会导致错误&#xff1a;Exception in thread"main" java.lang.Runtim…

java二级考试有草稿纸吗_“大型考试”为什么需要回收草稿纸?学生:这么多年也没整明白!...

在大家的求学生涯中&#xff0c;肯定不难发现这个事情&#xff0c;那就是学生考完试不能带走草稿纸&#xff0c;尤其是高考、中考这种全国统一大型考试&#xff0c;英语四六级等等&#xff0c;而一些初中高中、大学院校内部期末考试也是这样。学校和考场提供统一草稿纸目的是非…

expressjs如何做mysql注入_Node.js+Express+Mysql 实现增删改查

这次选用nodejsexpressmysql 使用http作为客户端&#xff0c;express框架搭建服务端&#xff0c;从而实现数据的增删改查。这篇文章可以算作上篇文章的升级篇&#xff0c;加入了和数据库的交互。安装node 直接去官网下载选择下载即可https://nodejs.org/en/download/current/cn…

docker pxc mysql_docker安装pxc集群的详细教程

前言现在mysql自建集群方案有多种&#xff0c;keepalived、MHA、PXC、MYSQL主备等&#xff0c;但是目前根据自身情况和条件&#xff0c;选择使用pxc的放来进行搭建&#xff0c;最大的好处就是&#xff0c;多主多备&#xff0c;即主从一体&#xff0c;没有同步延时问题&#xff…

java双击添加文本框_java图形界面 怎么文本框要用鼠标点一下才出来

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;public class BuildMaze extends JFrame implements ActionListener{private JButton random,Return,display,choice;private ImageIcon icon…

php图形验证码验证,php生成图形验证码几种方法小结

我们先来检查一下自己的php是不是打开了gd库。复制代码 代码如下:if(extension_loaded(gd)) {echo 你可以使用gd;foreach(gd_info() as $cate>$value)echo "$cate: $value";}elseecho 你没有安装gd扩展;?>如果有返回信息就正确可以常用使用了例1复制代码 代码…

php new static,PHP中new self()和new static()的区别用法

浅谈PHP中new self()和new static()的区别&#xfeff;本文介绍了PHP中new self()和new static()的区别&#xff0c;分享给大家&#xff0c;也给自己留个笔记。1.new static()是在PHP5.3版本中引入的新特性。2.无论是new static()还是new self()&#xff0c;都是new了一个新的对…

php微信开源框架,SOPHP免费微信开源框架 php版 v4.5

SOPHP是一款稳定开源的微信公众平台开发系统,也是基于weiphp开发的第一款商业系统。依托自身强大的钩子功能&#xff0c;她可以帮助大家快速开发出自己想要的微信功能插件&#xff0c;运营近两年来我们收获了上千用户与良好的口碑。作为一个开源产品&#xff0c;希望大家都能参…

php搜索文件名,window_Windows7内置搜索如何同时搜索文件名与内容,  Win7的搜索功能效果非常强 - phpStudy...

Windows7内置搜索如何同时搜索文件名与内容Win7的搜索功能效果非常强大&#xff0c;不但比WinXP快上许多&#xff0c;而且还能即输即显。不过我们在平时使用的时候大家会发现&#xff0c;Win7搜索只能搜索目录中的文件名&#xff0c;却搜索不到文件中的内容。其实不然&#xff…

php去掉编辑器自带样式,phpcms去掉CKEditor编辑器上传图片的宽高样式

phpcms V9后台富文本编辑器使用的是CKEditor&#xff0c;在编辑器上传图片后会自动添加图片宽高的style属性&#xff0c;如何去掉这个属性&#xff1f;找到以下文件&#xff1a;statics\js\ckeditor\plugins\image\dialogs\image.js打开后是压缩包的js文件&#xff0c;用javasc…

java系统管理员停用,为什么犯错让我成为一个更好的系统管理员

诀窍就是同一个错误不要犯两次。到目前为止&#xff0c;我已做了十多年 Fedora 贡献者。 Fedora 有一个由开发者和用户组成的大型社区&#xff0c;其中每一个人&#xff0c;不管是极富洞察力的用户还是出色的程序员&#xff0c;都有一些独有的技能。我喜欢这样的社区&#xff0…

php ajax json 实例,php+ajax+json 详解及实例代码

phpajaxjson 实例代码html页面&#xff1a;$(function(){$("#send").click(function(){var cont $("input").serialize();$.ajax({url:ab.php,type:post,dataType:json,data:cont,success:function(data){var str data.username data.age data.job;$(&…

如何访问静态成员php,php – 如何访问类的静态成员?

如果A是一个类&#xff0c;你可以通过A :: $ strName直接访问它。class A {public static $strName A is my name;}echo A::$strName; // outputs "A is my name"更新&#xff1a;根据你的数组内容&#xff0c;不管我喜欢将其定义为类对象还是类文字&#xff0c;都可…

php.ini用哪个,php.ini:哪一个?

一般来说&#xff0c;当从命令行调用PHP二进制文件时&#xff0c;使用cli / php.ini文件。您可以从命令行检查运行php –ini。当PHP作为FPM运行时将使用fpm / php.ini – 这是nginx安装的情况。您可以检查从您的网络服务器服务的php页面调用phpinfo()。cgi / php.ini&#xff0…

php黄页,PHP 黄页的url

首页http://localhost/index.php?myp&ccom_index&userid10产品&#xff1a;http://localhost/index.php?myp&ccom_index&amodel&modelid13&userid10产品单页&#xff1a;http://localhost/index.php?myp&ccom_index&ashow&modelid13&am…

mysql中数组转list,Arrays.asList(T... a) 不转换基本类型数组值为list

随手总结一下&#xff0c;数组转换为list总结int[] a1 new int[] { 1, 2, 3, 4 };String[] a2 new String[] { "srt1", "srt2", "srt3", "srt4" };System.out.println(a1.getClass().getName() ": " Arrays.asList(a1))…

php swoole process,PHP swoole的process模块创建和使用子进程操作示例

本文实例讲述了PHP swoole的process模块创建和使用子进程操作。分享给大家供大家参考&#xff0c;具体如下&#xff1a;swoole中为我们提供了一个进程管理模块 Process&#xff0c;替换PHP的 pcntl 扩展&#xff0c;方便我们创建进程&#xff0c;管理进程&#xff0c;和进程间的…

php什么是静态类,三.PHP静态类

3.PHP静态类/******************8PHP静态类*************/class Shtml{var $Templet;var $DataSource;var $Dir;var $fileName;var $mod;var $handle;function Shtml($fileName ""){$this->fileName $fileName;$this->mod "wb";$this->handle …

php 五颗星评价,简单实现点触/输入值给五颗星评价

先上效果图gif.gif1.码UI。。。UILabel *label [[UILabel alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 30)];label.text "点击星星可以自动获取评分哦&#xff5e;";label.textColor [UIColor whiteColor];label.textAlignment NSTextAlignmentCenter;…