Java 如何将枚举的一个变量中的所有元素加载到数组中?
我试图使用另一个类中的方法将一个enum变量的元素放入数组中(我希望我的解释是正确的,请看代码) 我尝试过各种各样的方法,比如循环,有构造函数和没有构造函数Java 如何将枚举的一个变量中的所有元素加载到数组中?,java,arrays,enums,Java,Arrays,Enums,我试图使用另一个类中的方法将一个enum变量的元素放入数组中(我希望我的解释是正确的,请看代码) 我尝试过各种各样的方法,比如循环,有构造函数和没有构造函数 public enum coffeetypes { COFFEE1 ("AMERICANO", "LATTE", "CAPPUCCINO"), COFFEE2 ("ESPRESSO", "RISTRETTO", "AMERICANO"), ; } 我想知道结果 "AMERICANO", "LATTE", "CAPPU
public enum coffeetypes {
COFFEE1 ("AMERICANO", "LATTE", "CAPPUCCINO"),
COFFEE2 ("ESPRESSO", "RISTRETTO", "AMERICANO"), ;
}
我想知道结果
"AMERICANO", "LATTE", "CAPPUCCINO"
or "ESPRESSO", "RISTRETTO", "AMERICANO"
not "AMERICANO" "ESPRESSO"
枚举类型甚至没有编译,因为它缺少构造函数和私有字段。 添加此项时,很容易添加getElements()方法,以便您可以从枚举外部访问列表:
import java.util.Arrays;
public class Coffee {
public enum CoffeeTypes {
COFFEE1("AMERICANO", "LATTE", "CAPPUCCINO"),
COFFEE2("ESPRESSO", "RISTRETTO", "AMERICANO");
String[] elements;
private CoffeeTypes(String... elements)
{
this.elements=elements;
}
public String[] getElements()
{
return elements;
}
}
public static void main(String[] args) {
CoffeeTypes myinstance=CoffeeTypes.COFFEE1;
System.out.println(Arrays.asList(myinstance.getElements()));
}
}
Arrays.asList仅用于以可读的方式打印数组。如果每个属性都有一个字段
import java.util.Arrays;
import java.util.List;
class Coffee {
public static void main(String[] args) {
System.out.println(CoffeeTypes.COFFEE1.getAttributes());
}
public enum CoffeeTypes {
COFFEE1 ("AMERICANO", "LATTE", "CAPPUCCINO"),
COFFEE2 ("ESPRESSO", "RISTRETTO", "AMERICANO");
private String n1;
private String n2;
private String n3;
CoffeeTypes(String n1, String n2, String n3) {
this.n1 = n1;
this.n2 = n2;
this.n3 = n3;
}
public List<String> getAttributes() {
return Arrays.asList(n1, n2, n3);
}
}
}
是的,我用构造函数尝试过,但除了生成三个单独的函数,每个函数返回一个元素之外,我什么也做不了。这也意味着每个元素需要有相同数量的元素,否则会有一些错误。谢谢你的回复,看起来应该很有效。@c0如果你是对的话。我重命名了这个类,但忘了重命名构造函数。
[AMERICANO, LATTE, CAPPUCCINO]