无法使用Lambda Stream Filter获得响应

时间:2015-05-24 13:15:02

标签: java filter java-stream

以下是我遇到问题的“airportFilteredList”流,它应该打印与给定“土耳其”字符串的过滤器匹配的国家/地区名称,但它不会向控制台打印任何内容,使用上的count() stream的值为0

ArrayList<Airport> airportList = new ArrayList<Airport>();

public void createAirport(String airport, String country, String continent,
        String airfield_length) {
    airportList.add(new Airport(airport, country, continent,
            airfield_length));

}

我在同一个列表中创建了一个没有过滤器的常规流,但它运行良好并返回机场的所有国家/地区名称。

{{1}}

从中重审Airport对象的ArrayList

{{1}}

完整的源代码位于https://github.com/Jointts/JavaExam/tree/master/JavaExam

1 个答案:

答案 0 :(得分:1)

在java中使用equals代替==来比较String,因为==比较引用而不是值。

 Stream<Airport> airportFilteredList = airportList.stream().filter(
            u -> "Turkey".equals(u.getCountry()));