在Java流中使用收集和映射时出现“不兼容类型”错误

时间:2019-03-27 06:57:36

标签: java stream

我上了这个课:

public class AirbnbListing {
...
private int price
...
public int getPrice() { return price; }

我正在尝试使用Java流从AirbnbListing对象的ArrayList中收集整数价格:

ArrayList<AirbnbListing> properties = dataParser.getNeighbourhoodProperties(neighbourhood, 0, -1, 0, "All");
ArrayList<Integer> prices =
    properties.stream()
        .map(AirbnbListing::getPrice)
        .collect(Collectors.toList());

但是我得到了“不兼容的类型:推断变量R具有不兼容的范围”。不知道是什么问题。

1 个答案:

答案 0 :(得分:0)

通过传递参数来创建ArrayList

ArrayList<Integer> prices =
    properties.stream()
        .map(AirbnbListing::getPrice)
        .collect(Collectors.toCollection(ArrayList::new));//<------- this