Если у меня есть перечисление
enum Country {
China,
USA,
Others
}
Скажи, что у меня есть
list1 = ["China", "Shanghai", "Beijing"]
и чек для isChina
, если true, затем вернуть Country.China.
list2 = ["USA", "Dallas", "Seattle"]
и метод проверяет isUSA
, если true, то возвращает Country.USA.
Если в списке отсутствуют США или Китай, верните Страна.Другие.
Предположение: список всегда будет содержать только 1 страну, за которой следуют города в этой стране.
[Edit] Не предполагайте, страна будет первым элементом в массиве.
Хотя я нахожу, что это очень легко реализовать в Java-7, я не уверен, что самый элегантный способ сделать это с помощью потоков
for (String str: list) {
if (str.equals("China")) {
return Country.China
}
if (str.equals("USA")) {
return Country.USA;
}
}
return Country.Other;
Я ищу чистую реализацию с использованием Streams.