【发布时间】:2017-11-24 14:27:14
【问题描述】:
我想打印第二个索引值,即 SUMMER。
public class Filer
{
public enum Season { WINTER, SPRING, SUMMER, FALL }
public static void main(String[] args)
{
System.out.println(Season.values(2));//values don't take argument!!
}
}
如何实现?
【问题讨论】:
-
Season.SUMMER 是要走的路。或遍历 .values() 结果,然后选择第二个
-
我其实想通过索引值来访问它。
-
Season.values()[2]... -
so:看看 values() 返回什么,然后获取那个索引
-
您应该避免通过索引访问
Enum。它们取决于它们在代码中的顺序。如果您进行一些重构,例如 "sort project alphabetical" 或稍后将一些值添加到您的枚举而不记住您的顺序相关代码,那么您将破坏您的代码。相反,您可以设置一个Map<Integer, Season>。