java-stream - 带有常量选项卡中的元素的 Java 流过滤器
问题描述
我有两个这样的课程:
public class Forecast {
private List<Element> elements;
private Person person;
}
public class Element {
private String element;
}
我有一个这样的 String[] 常量:
private static final String[] ELE = {"element1", "element2", "element3"};
我想检索我的预测列表中的所有元素,其中包含我的 Stream 常量元素之一。
所以,我开始这样做来测试:
public List<Element> getElement(String person) {
return getElement(person).getList()
.stream()
.filter(r -> r.get(0).getElement.equals("element1"))
.collect(Collectors.toList());
}
现在我想使用我的常量 ELE,但我不知道如何通过它并测试我的元素
谢谢
解决方案
private static final List<String> ELE_LIST = java.util.Arrays.asList(ELE);
public List<Element> getElement(String person) {
return getElement(person).getList()
.stream()
.filter(r -> ELE_LIST.contains(r.get(0).getElement()))
.collect(Collectors.toList());
}