博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用beanuti将bean属性转成map
阅读量:6271 次
发布时间:2019-06-22

本文共 2704 字,大约阅读时间需要 9 分钟。

hot3.png

今天沈宝问我一个将bean转成map的方法,一下子懵逼了。。。虽然不知道这样转想干啥,但是总感觉牛牛的样子。。。赶紧翻了下apache的common包,果然beantuils有这个功能,可以使用describe的方法

缺点和深浅复制一样,不能递归。直接上代码。

另外有个好的地方就是desciable转成map的时候会多一个class的属性,可以直接获取到当前bean的类

public class BeanTest extends BaseTest {    @Test    public void test() throws SQLException, IOException {        Abean abean=new Abean();        Abeans abeans=new Abeans();        //apache-common:beanuitls--简单类型        //testB:testemptyB        //class:class com.alibaba.dt.op.onedata.BeanTest$Abean        //testA:testemptyA        try {            Map beanMap=BeanUtils.describe(abean);            for(Object key:beanMap.keySet()){                System.out.println(key+":"+beanMap.get(key));            }        } catch (Exception e) {            e.printStackTrace();        }        //apache-common:beanuitls--复杂类型        //abeanList:com.alibaba.dt.op.onedata.BeanTest$Abean@4b2c5e02        //testC:testEmptyC        //class:class com.alibaba.dt.op.onedata.BeanTest$Abeans        try {            Map beanMap=BeanUtils.describe(abeans);            for(Object key:beanMap.keySet()){                System.out.println(key+":"+beanMap.get(key));            }        } catch (Exception e) {            e.printStackTrace();        }        System.out.println("love u!");    }    public class Abean{        String testA;        String testB;        public Abean(String testA, String testB) {            this.testA = testA;            this.testB = testB;        }        public Abean(){            this.testA="testemptyA";            this.testB="testemptyB";        }        public String getTestA() {            return testA;        }        public void setTestA(String testA) {            this.testA = testA;        }        public String getTestB() {            return testB;        }        public void setTestB(String testB) {            this.testB = testB;        }    }    public class Abeans{        List
abeanList; String testC; public Abeans() { this.testC="testEmptyC"; List
abeanList=new ArrayList
(); for(int i=0;i<3;i++){ Abean abean=new Abean("testA"+i,"testB"+i); abeanList.add(abean); } this.abeanList = abeanList; } public List
getAbeanList() { return abeanList; } public void setAbeanList(List
abeanList) { this.abeanList = abeanList; } public String getTestC() { return testC; } public void setTestC(String testC) { this.testC = testC; } }

 

转载于:https://my.oschina.net/zimingforever/blog/994102

你可能感兴趣的文章
程序员的罪与罚
查看>>
SQL*LOADER错误总结
查看>>
SQL日志收缩
查看>>
【转】MySQL Query Cache 小结
查看>>
SVN分支和合并的简单例子
查看>>
PHP实现的封装验证码类
查看>>
Augular初探
查看>>
PHPStorm下XDebug配置
查看>>
【LeetCode】55. Jump Game
查看>>
Android应用盈利广告平台的嵌入方法详解
查看>>
Linux(CentOS6.5) 开放端口,配置防火墙
查看>>
Func与Action
查看>>
Android ViewPager 应该及技巧
查看>>
ODI KM二次开发手册
查看>>
iOS通讯录整合,兼容iOS789写法,附demo
查看>>
如何将内核静态库编译连接到驱动程序中去【转】
查看>>
GNU KHATA——开源的会计管理软件
查看>>
BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 用SPD开发SharePoint应用程序...
查看>>
Java读取文件加锁代码Demo(利用Java的NIO)
查看>>
ES6 中 Symbol.split的用法
查看>>