从一个POJO列表转换为另一个POJO

时间:2016-05-06 20:38:41

标签: java guava

我有一个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;

1 个答案:

答案 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;