全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java基础将Bean属性值放入Map中的实例

Java基础将Bean属性值放入Map中的实例

利用发射将Java对象的属性值以属性名称为键,存储到Map中的简单实现。包括自身属性及从父类继承得到的属性。Java类型的getField[s]方法只能获取public 类型的属性,getDeclaredFields则能获取所有声明的属性,同时,如果类的可见性非公有,则Field的get(Object)方法将取不到具体的属性值。

package com.wood.util; 
 
import java.lang.reflect.Field; 
import java.util.HashMap; 
import java.util.Map; 
 
/** 
*  
* @ClassName: BeanToMapUtils 
* @Description: TODO 
* @author  wood 
* @date   2014-10-31 下午09:52:41 
* 
 */ 
public class BeanToMapUtils { 
  /** 
   * getFileds获取所有public 属性<br/> 
   * getDeclaredFields 获取所有声明的属性<br/> 
   * @param bean 
   * @return 将某个类及其继承属性全部添加到Map中 
   */ 
  public static Map<String,Object> beanToMap(Object bean){ 
    Map<String,Object> result = new HashMap<String,Object>(); 
    if(bean==null){ 
      return result; 
    } 
     
    Field[] fields = bean.getClass().getDeclaredFields(); 
    if(fields==null||fields.length==0){ 
      return result; 
    } 
     
    for(Field field:fields){ 
      //重置属性可见(而且一般属性都是私有的),否则操作无效 
      boolean accessible = field.isAccessible(); 
      if(!accessible){ 
        field.setAccessible(true); 
      } 
       
      //获取属性名称及值存入Map 
      String key = field.getName(); 
      try { 
        result.put(key, field.get(bean)); 
      } catch (IllegalArgumentException e) { 
        e.printStackTrace(); 
      } catch (IllegalAccessException e) { 
        e.printStackTrace(); 
      } 
       
      //还原属性标识 
      field.setAccessible(accessible); 
    } 
     
    //获取父类属性 
    fields = bean.getClass().getSuperclass().getDeclaredFields(); 
    if(fields==null||fields.length==0){ 
      return result; 
    } 
     
    for(Field field:fields){ 
      //重置属性可见(而且一般属性都是私有的),否则操作无效 
      boolean accessible = field.isAccessible(); 
      if(!accessible){ 
        field.setAccessible(true); 
      } 
       
      //获取属性名称及值存入Map 
      String key = field.getName(); 
      try { 
        result.put(key, field.get(bean)); 
      } catch (IllegalArgumentException e) { 
        e.printStackTrace(); 
      } catch (IllegalAccessException e) { 
        e.printStackTrace(); 
      } 
       
      //还原属性标识 
      field.setAccessible(accessible); 
    } 
     
    return result; 
  } 
   
  public static void main(String[] args) { 
    Dog info = new Dog(); 
    info.setCountry("cc"); 
    info.setName("Dog"); 
     
    info.setCategory("gram"); 
    info.setOwner("wang"); 
     
    System.out.println(beanToMap(info)); 
  } 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Java将Bean属性值放入Map  # java  # bean  # 放入map  # Java cglib为实体类(javabean)动态添加属性方式  # java 基础之JavaBean属性命名规范问题  # JSP JavaBean的setProperty属性  # Java循环对bean的属性进行赋值的实现  # 都是  # 希望能  # 谢谢大家  # 则能  # 下午  # 见性  # 非公有  # 类属  # date  # author  # Description  # BeanToMapUtils  # TODO  # ClassName  # HashMap  # getFileds  # br  # lt  # reflect  # getDeclaredFields 


相关文章: 营销式网站制作方案,销售哪个网站招聘效果最好?  如何在万网开始建站?分步指南解析  代购小票制作网站有哪些,购物小票的简要说明?  如何做网站制作流程,*游戏网站怎么搭建?  5种Android数据存储方式汇总  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  如何在建站主机中优化服务器配置?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  建站之星安装需要哪些步骤及注意事项?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  临沂网站制作企业,临沂第三中学官方网站?  建站之星代理商如何保障技术支持与售后服务?  如何选择网络建站服务器?高效建站必看指南  如何选择香港主机高效搭建外贸独立站?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  建站主机是什么?如何选择适合的建站主机?  建站之星免费模板:自助建站系统与智能响应式一键生成  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  浅析上传头像示例及其注意事项  头像制作网站在线制作软件,dw网页背景图像怎么设置?  制作网站外包平台,自动化接单网站有哪些?  ,网站推广常用方法?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  javascript基本数据类型及类型检测常用方法小结  深圳网站制作的公司有哪些,dido官方网站?  上海网站制作开发公司,上海买房比较好的网站有哪些?  建站之星代理平台如何选择最佳方案?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  家庭建站与云服务器建站,如何选择更优?  教学论文网站制作软件有哪些,写论文用什么软件 ?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何用wdcp快速搭建高效网站?  平台云上自主建站:模板化设计与智能工具打造高效网站  官网建站费用明细查询_企业建站套餐价格及收费标准指南  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  如何挑选优质建站一级代理提升网站排名?  如何基于PHP生成高效IDC网络公司建站源码?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  大连网站制作公司哪家好一点,大连买房网站哪个好?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  潮流网站制作头像软件下载,适合母子的网名有哪些?  完全自定义免费建站平台:主题模板在线生成一站式服务  如何零成本快速生成个人自助网站?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。