我感到有些尴尬,因为我卡在这个问题上了,但我正在尝试从给定的Map<MyEnum,String>
中提取字符串列表(List<String>
),该列表由枚举键List<MyEnum>
给出。 List<MyEnum>
可能包含条目,也可能不包含。
编辑:
List<String> toReturn = new ArrayList<>();
for (MyEnum field : fields) {
String value = null;
if ((value = map.get(field)) != null) {
toReturn.add(value);
}
}
return toReturn;
但是我正在寻找一种Java 8的方法来实现这个。比如说...
map.stream().map(e->?????)
Map<MyEnum, String> copy = new HashMap<>(map); copy.keySet().retainAll(fields); toReturn = new ArrayList<>(copy.values());
可能更简洁。 - VGR