本文实例讲述了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小时内与您取得联系。