gpt4 book ai didi

java - 您可以在 java 6 中使用带有枚举列表的 switch 语句吗?

转载 作者:行者123 更新时间:2023-12-02 05:35:05 25 4
gpt4 key购买 nike

我知道你可以有类似的东西

public enum letters{
A, B, C, D
}

然后每个字母都有自己的类和方法

switch(letters)
case A:
A.methodA();
break;
case B:
B.methodB();
break;
case C:
C.methodC();
break;
case D:
D.methodD();
break;
default:
System.out.println("Learn the alphabet");

但是你能有类似的东西吗

switch(listOfLetterEnums)
...

在我的程序中,我将命令行枚举参数转换为一个列表,我需要知道如何运行该列表中的每个枚举方法,无论它是 switch 语句还是其他语句。

我应该添加,当我尝试它时,我收到一个错误,提示“无法转换列表。只有可转换的 int 值或枚举变量”才会转换为枚举列表(如果上述情况可行)

最佳答案

您需要在 switch 语句周围放置一个 for 循环来分别解析列表的每个元素。如果列表是 Iterable那么它应该看起来像这样:

for (letterEnum : listOfLetterEnums) {
switch(letterEnum) {
...
}
}

为此,您的列表需要实现 Iterator 接口(interface)或扩展实现它的类。在这种情况下,您可能想要扩展 ArrayList .

如果列表是一个数组,您可以只解析数组的每个元素:

for (int i = 0; i < listOfLetterEnums.length; i++) {
switch(listOfLetterEnums[i]) {
...
}
}

关于java - 您可以在 java 6 中使用带有枚举列表的 switch 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25064732/

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