java - 如何将枚举的一个变量中的所有元素加载到数组中?
问题描述
我正在尝试使用另一个类中的方法将一个枚举变量的元素放入一个数组中(我希望我解释得对,请看代码)
我已经尝试过各种事情,for 循环,有和没有构造函数。
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 仅用于以可读的方式打印数组。
推荐阅读
- c# - 如何在控制器方法中添加一个虚拟类作为参数?
- angular - 一起使用 *ngIf 和 *ngFor。除了我目前使用的还有其他选择吗?
- css - Angular 8 组件显示在侧边栏下方而不是在侧面
- intellij-idea - 奇怪的错误 Intellij 2020.1 - 模棱两可的方法调用错误
- powershell - Powershell 脚本检查用户是否存在于 Active Directory 中并导出到 csv
- xslt - 在 IBM APIConnect 中将 JSON 映射到 XML SOAP Web 服务时跳过空名称空间
- c++ - QGraphicsView:修改另一个项目时重新绘制一个项目
- excel - 如何计算 Microsoft Excel 中的唯一 ID?
- python - 蟒蛇 | 在网站中读取脚本并在终端中运行
- android - 在 ViewPager2 中,在特定索引处重新创建片段