以下是我遇到问题的“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
答案 0 :(得分:1)
在java中使用equals
代替==
来比较String
,因为==
比较引用而不是值。
Stream<Airport> airportFilteredList = airportList.stream().filter(
u -> "Turkey".equals(u.getCountry()));