Bean转换器工具类

介绍了一种高效的Bean转换器工具类,它将转换工作集中管理,相比Util工具类更加方便,易于查看和使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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="";
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值