Bean转换器工具类
给两个Bean相互转换,一般喜欢写一个Util工具类,但是使用起来贼不方便,不如用这个转换器类,可以把转换工作放在一起,而且还好管理,便于别人查看和使用
package com.company;
public abstract class TransformBean<T,K> {
public TransformBean() {
}
public abstract K transorm(T t,K k);
public abstract T transormReverse(T t,K k);
public abstract K transorm(T t);
static TransformBean<ABean,BBean> transformBean= new TransformBean<>() {
@Override
public BBean transorm(ABean aBean, BBean bBean) {
bBean.setUid(aBean.id);
return bBean;
}
@Override
public ABean transormReverse(ABean aBean, BBean bBean) {
aBean.setId(bBean.getUid());
return aBean;
}
BBean bBean=new BBean();
@Override
public BBean transorm(ABean aBean) {
bBean.clear();
bBean.setUid(aBean.id);
return bBean;
}
};
public static void main(String[] args){
ABean aBean=new ABean();
aBean.setId("xxyy");
BBean bBean=new BBean();
bBean=transformBean.transorm(aBean,bBean);
System.out.println(bBean.getUid());
}
public static class ABean{
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
public static class BBean implements Cloneable{
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
private String uid;
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public void clear() {
uid="";
}
}
}