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

无法对ArrayList执行操作

孔皓
2023-03-14
UnsupportedOrderException
class Mine implements Cloneable {
    public List<Integer> list;
    Mine(List<Integer> mylist) {
        this.list = mylist;
    }
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

class Demo {
    public static void main(String[] args) throws CloneNotSupportedException {
        List<Integer> klist= Arrays.asList(10,20,30,40,50);
        Mine m1=new Mine(klist);
        m1.list.add(11); // <- why i am unable to add to the list
        Mine m2= (Mine) m1.clone();
    }
}

共有1个答案

陶博涉
2023-03-14

不能更改arrays.aslist返回的list的元素数(使用add()remove()或类似的方法)(但它允许使用.set()更改元素数)。

arrays.aslist的文档中:

返回的列表实现了可选的集合方法,但那些会更改返回列表大小的方法除外。这些方法保持列表不变,并引发UnsupportedOperationException。

相反,您可以使用相同的元素创建ArrayList:

List<Integer> klist= new ArrayList<>(Arrays.asList(10,20,30,40,50));
 类似资料:
  • 我的意图是对进行简单的克隆,但在此之前,我在修改列表时遇到了一个问题。在列表中添加另一个元素 为什么?

  • 我得到了"org.springframework.dao.数据完整性违反异常:无法执行语句;SQL[n/a];约束[null];嵌套异常是org.hibernate.exception.约束违反异常:无法执行语句"异常,同时将对象保存到存储库。 要求:计划将只有一个Cpricing对象,因此我添加了@OneToOne映射。下面是预期的表结构。 我在实体类中有以下代码更改: 当试图保存包含CPric

  • 问题内容: 如下代码: 原因: 无法对参数化类型执行检查。请改用表格,因为其他通用类型信息将在运行时删除 有人可以解释一下“进一步的通用类型信息将在运行时删除”的含义,以及如何解决此问题吗? 问题答案: 这意味着,如果您有任何已参数化的内容,例如,泛型信息将在运行时删除。相反,这是JVM将看到的内容。 这称为类型擦除。在运行时,JVM没有参数化的类型信息(在示例中)。 解决吗?由于JVM在运行时没

  • 我试图在元素上执行拖放操作,但它没有发生。 这是我正在处理的页面的片段。在这里,我试图将磁贴“时间”拖动并放置在磁贴“批准”的位置。截图 这是我正在使用的代码。 代码 超文本标记语言 源元素 目标元素 如果你需要更多细节,请告诉我。

  • 无法在下面的链接中执行右键单击操作。我们尝试了几乎所有的案例来实现自动化。https://the-internet.herokuapp.com/context_menu 我使用的是Selenium 3.3和geckodrivers的最新版本。 动作动作=新动作(驱动);行为moveToElement(元素)。点击();行为上下文单击(元素)。build()。执行();行为发送键(键。箭头向下)。发

  • 我有一个猫鼬模式 我最初设置了名称和电话字段的集合。我需要将集合更新为消息数组中的新消息和新地址到地址对象中。该函数还必须处理任何单个操作,即在某些情况下我只更新到消息数组或更新到名称和地址。所以我如何在单个函数中执行所有操作。