全网整合营销服务商

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

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

java基于反射得到对象属性值的方法

本文实例讲述了java基于反射得到对象属性值的方法。分享给大家供大家参考,具体如下:

通过反射机制得到对象中的属性和属性值 在对象中private没问题,在别的类中有时会报异常。下面的例子是在本对象中

/**
* Engine entity. @author MyEclipse Persistence Tools
*/
public class Engine implements java.io.Serializable {
 // Fields
 private Long engineId;
 private String engineName;
 private String engineType;
 // Constructors
 /** default constructor */
 public Engine() {
 }
 /** minimal constructor */
 public Engine(Long engineId) {
 this.engineId = engineId;
 }
 public Engine(String engineName, String engineType) {
 this.engineName = engineName;
 this.engineType = engineType;
 }
 /** full constructor */
 public Engine(Long engineId, String engineName, String engineType) {
 this.engineId = engineId;
 this.engineName = engineName;
 this.engineType = engineType;
 }
 // Property accessors
 public Long getEngineId() {
 return this.engineId;
 }
 public void setEngineId(Long engineId) {
 this.engineId = engineId;
 }
 public String getEngineName() {
 return this.engineName;
 }
 public void setEngineName(String engineName) {
 this.engineName = engineName;
 }
 public String getEngineType() {
 return this.engineType;
 }
 public void setEngineType(String engineType) {
 this.engineType = engineType;
 }
public static void main(String[] args) throws Exception {
 Engine m = new Engine("汽车","发动机");
 Class clazz = m.getClass();
 Field[] f = clazz.getDeclaredFields();
 String[] name = field2Name(f);
 Object[] value = field2Value(f, m);
 showNameAndValue(name, value);
 }
 public static void showNameAndValue(String[] name, Object[] value) {
 for (int i = 0; i < name.length; i++) {
  System.out.println("--" + i + "--");
  System.out.println("name:" + name[i]);
  System.out.println("Value:" + value[i]);
  System.out.println("--   --");
 }
 }
 public static String[] field2Name(Field[] f) {
 String[] name = new String[f.length];
 for (int i = 0; i < f.length; i++) {
  name[i] = f[i].getName();
 }
 return name;
 }
 public static Object[] field2Value(Field[] f, Object o) throws Exception {
 Object[] value = new Object[f.length];
 for (int i = 0; i < f.length; i++) {
  value[i] = f[i].get(o);
 }
 return value;
 }
}

如果想调用private的属性的属性值,则要调用他的get方法了具体做法是:

把field2Value方法改为如下方式,这样在别的类中也可以得到private的属性值了

public static Object[] field2Value(Field[] fields, Object o) throws Exception {
 Object[] values = new Object[fields.length];
 Class classType = o.getClass();
 for (int i = 0; i < fields.length; i++) {
  String fieldName = fields[i].getName();
  String firstLetter = fieldName.substring(0, 1).toUpperCase();
  String getMethodName = "get" + firstLetter + fieldName.substring(1);
  Method getMethod = classType.getMethod(getMethodName, new Class[] {});
  values[i] = getMethod.invoke(o, new Object[] {});
 }
 return values;
}

更多java相关内容感兴趣的读者可查看本站专题:《java日期与时间操作技巧汇总》、《Java图片操作技巧汇总》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》及《Java数据结构与算法教程》。

希望本文所述对大家java程序设计有所帮助。


# java  # 反射  # 对象  # 属性值  # Java反射设置/获取对象属性值三种方式  # java使用反射给对象属性赋值的两种方法  # Java如何基于反射获取对象属性信息  # Java反射通过Getter方法获取对象VO的属性值过程解析  # Java 用反射设置对象的属性值实例详解  # Java如何通过反射获取对象的属性和值  # 象中  # 操作技巧  # 会报  # 类中  # 是在  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 在对  # 可以得到  # 所述  # 程序设计  # 则要  # 具体做法  # 讲述了  # Fields  # Serializable  # engineId  # Long 


相关文章: 制作网站的公司有哪些,做一个公司网站要多少钱?  建站之星logo尺寸如何设置最合适?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  建站之星代理费用多少?最新价格详情介绍  名字制作网站免费,所有小说网站的名字?  如何基于云服务器快速搭建个人网站?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  济南专业网站制作公司,济南信息工程学校怎么样?  宝塔面板创建网站无法访问?如何快速排查修复?  建站之星安装提示数据库无法连接如何解决?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  如何在腾讯云免费申请建站?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  C#怎么使用委托和事件 C# delegate与event编程方法  如何用狗爹虚拟主机快速搭建网站?  电商网站制作公司有哪些,1688网是什么意思?  如何快速搭建响应式可视化网站?  高端建站如何打造兼具美学与转化的品牌官网?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何快速辨别茅台真假?关键步骤解析  如何选择高效稳定的ISP建站解决方案?  建站之星后台密码如何安全设置与找回?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何通过云梦建站系统实现SEO快速优化?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  高性价比服务器租赁——企业级配置与24小时运维服务  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  建站主机选购指南与交易推荐:核心配置解析  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何高效完成自助建站业务培训?  如何设计高效校园网站?  如何配置WinSCP新建站点的密钥验证步骤?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  山东云建站价格为何差异显著?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  建站之星客服服务时间及联系方式如何?  如何在阿里云购买域名并搭建网站?  建站之星如何快速生成多端适配网站?  Android滚轮选择时间控件使用详解  高防服务器租用首荐平台,企业级优惠套餐快速部署  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  招商网站制作流程,网站招商广告语?  如何在阿里云ECS服务器部署织梦CMS网站?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  如何用腾讯建站主机快速创建免费网站?  香港服务器租用每月最低只需15元?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  建站主机空间推荐 高性价比配置与快速部署方案解析 

您的项目需求

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