首页 > 编程知识 正文

java map转对象,java将对象转为map

时间:2023-05-03 18:29:12 阅读:179619 作者:4842

有时在项目中使用map来旋转对象。 以前偶尔看到过同事的代码。 使用map旋转对象时,可以创建循环、取值、确定天空或赋值。 即使对象的参数很少,也偶尔可以使用。 对象参数太多,乍一听,那是壮丽的风景,所以我自己整理了一下,拿出了用map旋转对象的工具类

package com.util; import java.math.BigDecimal; import java.util.HashMap; import java.util.Map; importorg.Apache.com mons.beanutils.convert utils; importorg.Apache.com mons.beanutils.converters.bigdecimal converter; importorg.Apache.com mons.beanutils.converters.date converter; importorg.Apache.com mons.beanutils.converters.double converter; importorg.Apache.com mons.beanutils.converters.integer converter; importorg.Apache.com mons.beanutils.converters.long converter; importorg.Apache.com mons.beanutils.converters.short converter; /** * Map传输目标Map工具类* @ versionv 1.0 */publicclassmaputilz {/* * map传输目标* * @ param map * @ parambeanclass * @ return beanclass(throwsexception(if ) map==null ) return null; objectobj=bean class.new instance (; convert utils.register (new date converter ) null ),java.util.Date.class ); convert utils.register (newlongconverter ) null ),Long.class ); convert utils.register (newshortconverter ) null ),Short.class ); convert utils.register (newintegerconverter ) null ),Integer.class; convert utils.register (newdoubleconverter ) null ),Double.class ); convert utils.register (newbigdecimalconverter ) null ),BigDecimal.class; org.Apache.com mons.beanutils.beanutils.populate (obj,map ); 返回对象; }/** *对象移动映射* * @ param obj * @ param incDate *是否包含date类型的属性true; false是否包含* @return */public static Map? objecttomap(objectobj,boolean incDate ) if ) obj==null ) return null; if(incdate ) convert utils.register (new date converter ) null ),java.util.Date.class; return new org.Apache.com mons.beanutils.bean map (obj ) (/**map )以map(map )为对象,将带下划线的key作为驼峰式key ) @ returneturn 、 * @ param map * @ return * @ throws exception * */publicstaticobjectmaptomaptoobject (map? map,Class? bean class (throws exception { mapstring,Object mapp=new HashMapString,Object ); //map遍历for(map.entry )? 处理entry3360map.entryset((/)下划线if(entry.getkey ).toString ).contains('_ ' ) ) objectvalue=entry.) StringBuffer sb=new StringBuffer (; sb.append(arr[0]; for(intI=1; iarr.length; I ) arr [ I ]=arr[I].substring (1(0,1 ).toUpperCase ) ) arr [ I ].substring )1); //连接字符串sb.append(arr[I]; } String key=sb.toString (; mapp.put(key,value ); }else { //不进行处理的部分String key=entry.getKey ().toString ); Object value=entry.getValue (; mapp.put(key,value ); }objectobj=maptoobject(mapp,beanClass ); 返回对象; }/* * * * @ param args */publicstaticvoidmain (string [ ] args ) {//Student s=new Student ); //s.setAAA('AAA ); //s.setBBB('BBB ); //s.setfff(newbigdecimal ) ) 123.456 ); //s.setCCC(newinteger(2) ); //s.setDDD(newdouble ) ) 5.0 ); //s.Seteee(newdate ) ); //map map=mapu tilz.objecttomap (s,true ); //system.out.print ln (map.get (' iii ' ) ); //try(///studentss=(student ) maputilz.maptoobject(map,Student.class ); //system.out.println(ss.getggg ); //catch(exceptione )//todo auto-generatedcatchblock//e.print stack trace ); //}}}希望能用,最后,看完就好了。 请关注哦。 晾的衣服不断…

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。