首页 > 解决方案 > 带有常量选项卡中的元素的 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,但我不知道如何通过它并测试我的元素

谢谢

标签: java-stream

解决方案


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());
}

推荐阅读