将枚举类型添加到列表中

时间:2011-08-07 00:09:32

标签: java enums

如果我需要在列表中添加枚举属性,我该如何声明列表?让我们说枚举类是:

public enum Country{ USA, CANADA; }

我想这样做:

List<String> l = new ArrayList<>();
l.add(Country.USA);

需要使用什么代替List<String>?

3 个答案:

答案 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