Добавление типа enum в список - PullRequest
4 голосов
/ 07 августа 2011

Если мне нужно добавить атрибут enum в список, как мне объявить список?Допустим, класс перечисления:

public enum Country{ USA, CANADA; }

Я хочу сделать:

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

Что нужно использовать вместо List<String>?

Ответы [ 3 ]

10 голосов
/ 07 августа 2011

Должно быть:

List<Country> l = new ArrayList<Country>();
l.add(Country.USA); // That one's for you Code Monkey :)
4 голосов
/ 07 августа 2011

Если вы хотите использовать строковый тип, используйте это:

l.add(Country.USA.name());

в противном случае ответ MByD

2 голосов
/ 07 августа 2011

Если вы хотите сохранить любое перечисление, используйте это:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...