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

例如,我需要从Stream<Car>中提取一个Stream<CarDetails>

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

我想提取类型为Stream的对象的CarDetails:
CarDetails {
   String name;
   String model;
}

最佳答案

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

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

08-05 20:10