java List转List Lists.transform 进阶

来源:互联网 发布:java unix timestamp 编辑:程序博客网 时间:2024/06/10 19:18

需要转的地方使用Lists.transform

contract.setAttachments(Lists.transform(getAttachmentMetas(contractInfo), AttachmentTransformer.Instance));getAttachmentMetas(contractInfo)返回List<AttachmentModel>,转换成List<AttachmentMetaData>

定义转换类,继承Function2类

public class AttachmentTransformer extends Function2<AttachmentModel,AttachmentMetaData> {  public static final AttachmentTransformer Instance = new AttachmentTransformer();//子类来实现    @Override    public AttachmentMetaData safeApply(AttachmentModel attachmentModel) {  AttachmentMetaData metaData = new AttachmentMetaData();   metaData.setFileId(attachmentModel.getFileId());                   metaData.setTargetID(attachmentModel.getTargetId());        metaData.setTargetType(attachmentModel.getTargetType());        metaData.setCustomerId(attachmentModel.getCustomerId());   return metaData;    }}

Function2实现Function接口

public abstract class Function2<F,T> implements Function<F,T> {//覆写apply方法    @Override    public final T apply( F input){        if(null == input) return null;        return safeApply(input);    }// 定义抽象方法    public abstract T safeApply(F input);}

参考:
http://blog.csdn.net/mccand1234/article/details/51332055

1 0
原创粉丝点击