gpt4 book ai didi

java - 制作一个列表并将其初始化以包含枚举的所有值

转载 作者:行者123 更新时间:2023-11-29 03:06:17 25 4
gpt4 key购买 nike

我有一个枚举 Direction,我想制作一个包含该枚举所有值的临时列表,然后能够从该列表中删除或添加值。

public enum Direction {
TOP, RIGHT, BOTTOM, LEFT
}

List<Direction> directions = Arrays.asList(Direction.values());

directions.remove(0); // error
directions.add(Direction.BOTTOM); // error

使用我当前的代码,当我删除 0 处的元素或添加任何元素时,我会收到运行时异常 java.lang.UnsupportedOperationException。所以我想这样我得到的列表是不可变的?我怎样才能正确地做到这一点?

最佳答案

Arrays#asList 返回一个 List,它不支持 addremove 元素,因为它只是包装了一个大批。相反,创建一个新的 ArrayList 并将 Arrays#asList 的结果作为参数传递:

List<Direction> directions = new ArrayList<>(Arrays.asList(Direction.values()));

关于java - 制作一个列表并将其初始化以包含枚举的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32040856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com