У меня есть Enum of Strings вроде этого:
public enum SomeEnum {
STRING1("some value"),
STRING2("some other value");
STRING3("some third value");
...more strings...
private String name;
SomeEnum(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
И у меня есть List someStringList, содержащий несколько строк.
Я хочу перебрать someStringList и найти для него соответствующие перечисления ,
Например: список содержит строки «некоторое значение» и «некоторое третье значение», тогда я хотел бы использовать Java Stream-API для возврата мне списка, содержащего SomeEnum.STRING1 и SomeEnum. STRING3
Почему-то я не могу заставить это работать. Я пробовал что-то вроде этого:
List<SomeEnum> enumList = Stream.of(someStringList).forEach( s -> Stream.of(SomeEnum.values()).filter(w -> w.toString().equalsIgnoreCase(s)).collect(Collectors.toList()));
, но это не компилируется, потому что ничего не возвращает. Есть идеи?