Java 8:从流中提取子流

时间:2017-02-13 11:53:12

标签: java java-8 java-stream

我有一个对象流,我需要从中提取一个只包含一些对象属性的Stream。

例如,从Stream<Car>开始,我需要提取Stream<CarDetails>

Car {
   String name;
   String model;
   Engine e;
   CarType t;
   ...
}

我想提取Stream类型为CarDetails的对象:

CarDetails {
   String name;
   String model;
}

1 个答案:

答案 0 :(得分:7)

假设您拥有所需的map构造函数,则可以使用CarDetails实现此目的:

Stream<Car> cars = ...
Stream<CarDetails> details = cars.map(c -> new CarDetails(c.getName(),c.getModel()));