当前位置: 首页 > 知识库问答 >
问题:

需要ConcurrentModificationException,但获得UnsupportedException[duplicate]

彭鸿文
2023-03-14
Dog d1= new Dog("Dog 1");
        Dog d2= new Dog("Dog 2");
        Dog d3= new Dog("Dog 3");
        
        Cat c1= new Cat("Cat 1");
        Cat c2= new Cat("Cat 2");
        
        List<Animal> al= Arrays.asList(d1,d2,c1,c2,d3);
        for(Animal eachlist : al)
        {
            if(eachlist instanceof Dog)
            {
                al.remove(eachlist);
            }
            System.out.println(eachlist.toString());
        }

共有1个答案

方飞白
2023-03-14

这是由于使用arrays.aslist造成的。这使用了一个有限的列表实现,它重用您指定为参数的数组。看到一个数组的大小不能缩小,这个列表实现也不能缩小。

若要获得所需的异常,请尝试使用不同的列表实现(如ArrayList),例如将列表传递给ArrayList的构造函数:

List<Animal> al = new ArrayList<>(Arrays.asList(d1,d2,c1,c2,d3));

然后删除DOG的所有实例:

al.removeIf(a -> a instanceof Dog);
 类似资料:
  • 前天我开始了解斯威格。太棒了。但可能是因为我缺乏知识,有些事情我做不到。我努力想解决它,最后我把它作为一个问题放在这里。 我的pom.xml 我添加了这个依赖项。我的servlet上下文。xml如下所示。我确实绑定了swagger配置bean并启用了此配置。 制造一种狂妄自大的姿态。具有以下项的属性。 并以包含任何其他属性文件的方式将其包含在myapplication上下文中。 我的控制器记录ap

  • 我有一个API,它返回的数据类型为_HttpClientResponse,因为我使用的是httpClient,我使用下面的 当我打印结果i/flatter(23708):字符串i/flatter(23708):{“结果”:[{“IPAddress”:“192.1.1.1”,“说明”:“Windows 2016 Server”},{“IPAddress”:“192.1.1.1”,“说明”:“Wind

  • 我正在尝试用Spring Boot开发一个CRUD web应用程序。我将Hibernate用于我的DAO部分。当我尝试午餐我的主应用程序,我收到以下错误消息: 接口客户端DAO: 类ClienteDAOImpl 类ClienteController: pom.xml:

  • 当尝试ViewChild时,我会得到错误。错误为“未提供'opts'的参数。” @ViewChild都给出了错误。 ts(11,2):错误TS2554:应为2个参数,但得到1。

  • 我只需要一个查询的临时结果。如果substring condition为true,我希望将其car_performance值降低%10(car_performance=car_performance*0.9;)并将此子字符串true cars与其他子字符串进行比较,但仅针对查询,我不想更改SQL数据库中的真实数据。 所以我想我需要将这个数据放到一个新的临时表中,这个表的car_performanc

  • 我想在Java中使用regex得到一个特定的单词。谢谢 在下面的段落中,我需要找到网络接口名称 预期结果如下: nic_linuxvmcent-nhi