Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,是否可以通过循环枚举将每个项添加到列表中?_Java_List_Enums - Fatal编程技术网

在java中,是否可以通过循环枚举将每个项添加到列表中?

在java中,是否可以通过循环枚举将每个项添加到列表中?,java,list,enums,Java,List,Enums,我有一个包含30个值的枚举,我需要将每个值放入一个列表中。有没有一种方法可以循环每一行代码并添加它们,而不是将每一行代码添加30行?enum的名字是School,我试着 List<School> schools = new ArrayList<School>(); schools.add(School.values()); List schools=new ArrayList(); schools.add(School.values()); 及 List scho

我有一个包含30个值的枚举,我需要将每个值放入一个列表中。有没有一种方法可以循环每一行代码并添加它们,而不是将每一行代码添加30行?enum的名字是School,我试着

 List<School> schools = new ArrayList<School>();
 schools.add(School.values());
List schools=new ArrayList();
schools.add(School.values());

List schools=new ArrayList();
schools.addAll(School.values());
enum#values
返回一个数组。改用
数组。asList

schools.add(Arrays.asList(School.values()));
或一行:

List<School> schools = Arrays.asList(School.values());
List schools=Arrays.asList(School.values());
创建您的列表,如

List<School> schools = new ArrayList<School>(Arrays.asList(School.values()));
List schools=newarraylist(Arrays.asList(School.values());
如果使用
Arrays.asList(School.values())
,则以后无法向该列表添加任何内容,最终会出现异常。从方法的文档中

返回指定数组支持的固定大小列表


如果按照建议的方式创建,则可以添加更多元素。

@LuiggiMendoza抱歉,我已经修复了它。两者之间没有区别codes@sᴜʀᴇsʜᴀᴛᴛᴀ 不,它说它不适用于arguments@user3887792我补充道。希望这有帮助。(在第二行的情况下):所以OP不能在
学校
@s之后添加任何内容ᴜʀᴇsʜᴀᴛᴛᴀ 这就是为什么我显示第一个选项。无论如何,我不能考虑一个明确的用例,在这个用例中,您需要将重复的枚举值添加到
列表中
,所以这次一行方法就足够了。同意。我用行号编辑了我的评论。
List<School> schools = new ArrayList<School>(Arrays.asList(School.values()));