反射获取对象的属性值

1 > bean 对象

package com.whbs.bean;

public class UserBean {

private Integer id ;

private int age ;

private String name ;

private String address ;

public UserBean(){

System. out .println( " 实例化 " );

}

public Integer getId() {

return id ;

}

public void setId(Integer id) {

this . id = id;

}

public int getAge() {

return age ;

}

public void setAge( int age) {

this . age = age;

}

public String getName() {

return name ;

}

public void setName(String name) {

this . name = name;

}

public String getAddress() {

return address ;

}

public void setAddress(String address) {

this . address = address;

}

}

2 > 反射测试

package com.whbs.test;

import java.lang.reflect.Field;

import java.lang.reflect.Method;

import com.whbs.bean.UserBean;

public class Test1 {

public static void main(String[] args) throws Exception {

/*

* 实列化类 方法 1

*/

//String classPath = "com.whbs.bean.UserBean";

//Class cla = Test1.class.getClassLoader().loadClass(classPath);

//Object ob = cla.newInstance();

/*

* 实列化类 方法 2

*/

UserBean bean = new UserBean();

bean.setId(100);

bean.setAddress( " 武汉 " );

// 得到类对象

Class userCla = (Class) bean.getClass();

/*

* 得到类中的所有属性集合

*/

Field[] fs = userCla.getDeclaredFields ();

for int i = 0 ; i < fs. length ; i++){

Field f = fs[i];

f.setAccessible( true ); // 设置些属性是可以访问的

Object val = f.get(bean); // 得到此属性的值

System. out .println( "name:" +f.getName()+ "/t value = " +val);

String type = f.getType().toString(); // 得到此属性的类型

if (type.endsWith( "String" )) {

System. out .println(f.getType()+ "/t 是 String" );

f.set(bean, "12" ) ;        // 给属性设值

else if (type.endsWith( "int" ) || type.endsWith( "Integer" )){

System. out .println(f.getType()+ "/t 是 int" );

f.set(bean,12) ;       // 给属性设值

else {

System. out .println(f.getType()+ "/t" );

}

}

/*

* 得到类中的方法

*/

Method[] methods = userCla.getMethods();

for int i = 0; i < methods. length ; i++){

Method method = methods[i];

if (method.getName().startsWith( "get" )){

System. out .print( "methodName:" +method.getName()+ "/t" );

System. out .println( "value:" +method.invoke(bean)); // 得到 get 方法的值

}

}

}

}

转至: http://blog.csdn.net/xiaopeng__/article/details/6950205

时间: 2024-07-29 04:55:22

反射获取对象的属性值的相关文章

java反射获取对象的属性值和对象属性中的子属性值

近段时间在做web项目,前端使用的是jQuery EasyUI. 为方便需要,准备做一个前端通用的Datagird导出Excel功能,博主也考虑过思路和最终功能,1.前端选中行导出:2.当前页导出:3.当前过滤条件导出. 想偷懒在网上找找已有的代码改改,发现大部分只能满足个别需求,使用JS导出只能满足前端,使用代码才能实现3功能. ...... 好了,说了一堆废话,回归正题,本文是在做通用自定义字段导出时所需要,根据属性名去查找对象和子对象,找到对应属性值,抓取回来放到Excel中. 直接上代码

通过反射判断对象的属性值是否为空

问题产生场景? 在项目开发过程中我采用了表单内部嵌套列表的形式提交数据,将表单于列表数据同时提交保存.   有时候管理人的出资人结构我新增了多条  这时候并没有真正的保存到数据库,而是保存在了页面前端临时保存等待真正的提交  我操作删除 这时候删除实现的方式是 function delFundManage(obj){ $(obj).parent().parent().remove();} 移除了 但是在创建列表的时候 进行移除第一个 arr[1]  这里并没有将修改为arr[0] 这里提交到后台

jsp页面获取对象的属性值

通过 document.getElementsByName("name的属性值"); document.getElementsById("id的属性值"); document.getElementsByTagName("特定的标签名"); 获取jsp页面的对象集合;遍历该对象集合,然后'' 对象[i].value获取该对象的value属性值 对象[i].id获取该对象的id属性值 原文地址:https://www.cnblogs.com/Java

Java反射获取Android系统属性值

目录 目录 反射定义 为何需要反射 反射方法Method getDeclaredMethod方法 getMethod方法 参数解释 invoke方法 Android 反射应用 反射定义 "反射"(Reflection)能够让运行于JVM中的程序检测和修改运行时的行为. 为何需要反射 反射带来的好处包括: 在运行时检测对象的类型. 动态构造某个类的对象. 检测类的属性和方法. 任意调用对象的方法. 修改构造函数.方法.属性的可见性. 反射方法Method getDeclaredMetho

反射获取运行时属性值的替代方法

方法一:表达式树 1         public static Dictionary<string, Func<T, object>> InitDic<T>() 2         { 3             Dictionary<string, Func<T, object>> model = new Dictionary<string, Func<T, object>>(); 4             var 

Java反射获取对象VO的属性值(通过Getter方法)

有时候,需要动态获取对象的属性值. 比如,给你一个List,要你遍历这个List的对象的属性,而这个List里的对象并不固定.比如,这次User,下次可能是Company. e.g. 这次我需要做一个Excel导出的工具类,导出的批量数据是以List类型传入的,List里的对象自然每次都不同,这取决于需要导出什么信息. 为了使用方便,将对象的属性名与属性值存于Map当中,使用时就可以直接遍历Map了. 此次的思路是通过反射和Getter方法取得值,然后记录在一个Map当中. Kick start

用反射写的取属性值和设置属性值得方法

1 package com.lovo.util; 2 3 import java.lang.reflect.Constructor; 4 import java.lang.reflect.Field; 5 6 public class MyUtil { 7 private MyUtil(){ 8 throw new AssertionError(); 9 } 10 /** 11 * 通过反射获取对象的字段值 12 * @param target 目标对象 13 * @param fieldNam

C#利用反射获取对象属性值

public static string GetObjectPropertyValue<T>(T t, string propertyname){     Type type = typeof(T); PropertyInfo property = type.GetProperty(propertyname); if (property == null) return string.Empty; object o = property.GetValue(t, null); if (o == n

【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】

方法1:通过get()方法获取属性值 package com.sxd.test.controller; public class FirstCa{ private Integer num; private String name; private Boolean flag; public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public String getNam