如果我需要在列表中添加枚举属性,我该如何声明列表?让我们说枚举类是:
public enum Country{ USA, CANADA; }
我想这样做:
List<String> l = new ArrayList<>();
l.add(Country.USA);
需要使用什么代替List<String>?
答案 0 :(得分:10)
应该是:
List<Country> l = new ArrayList<Country>();
l.add(Country.USA); // That one's for you Code Monkey :)
答案 1 :(得分:4)
如果你想要字符串类型,请使用:
l.add(Country.USA.name());
否则MByD的答案
答案 2 :(得分:2)
如果您想要保留任何枚举,请使用:
List<? extends Enum<?>> list = new ArrayList<Country>();
Enum<?> someEnumValue = list.get(0); // Elements can be assigned to Enum<?>
System.out.println(someEnumValue.name()); // You can now access enum methods