我有一个对象流,我需要从中提取仅包含某些对象属性的流。
例如,我需要从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()));