我有一个Java中的POJO列表,我需要将其转换为另一种类型的POJO列表。两个POJO都有两个String字段。有没有比这更好的方法来迭代原始列表并将新项添加到结果列表中?我知道在Java 8中我可以编写一个实现apply方法的Function,但我使用的是Java 7.在Java 7中有更有效的方法吗?下面的示例代码
final List<Tracking> list = new ArrayList<>();
for (DJTracking djTracking : trackingInformation) {
list.add(new Tracking(djTracking.getTrackingNumber(), djTracking.getTrackingUrl()));
}
return list;
答案 0 :(得分:0)
一种简单的方法是打破你提到的代码,我的意思是在firstClass中编写一个方法将其转换为第二个,这可能不会提高性能但更清晰。
public Tracking convertToTracking(){
return new Tracking(this.getTrackingNumber(), this.getTrackingUrl());
}
并且在您想要的任何地方您都可以简单地转换列表:
final List<Tracking> list = new ArrayList<>();
for (DJTracking djTracking : trackingInformation) {
list.add(djTracking.convertToTracking());
}
return list;