java 反射 - 获取成员变量的值.

通过反射,可以获取所有声明的成员变量(包括所有的),代码如下:

package spt.test.src;

public class Person {
	private String name = "pri_name";
	public String id;
}

运行测试:

package spt.test;

import java.lang.reflect.Field;

import spt.test.src.Person;

class ReflectionTest {
	@SuppressWarnings("unchecked")
	public static void main(String[] args) throws IllegalAccessException {
		Person person = new Person();
		person.id = "akk";

		Class<Person> pClass = (Class<Person>) person.getClass();
		for (Field field : pClass.getDeclaredFields()) {
			try {
				//set accessable.
				field.setAccessible(true);
				//get field name and value.
				System.out.println(field.getName() + ":" + field.get(person));
			} catch (IllegalArgumentException e) {
				e.printStackTrace();
			}
		}
	}
}

将在控制台上输出:

name:pri_name
id:akk
时间: 2024-08-06 10:52:40

java 反射 - 获取成员变量的值.的相关文章

反射获取成员变量,并修改值

/* * 反射获取成员变量,并修改值 * Person类中的成员String name */ public class ReflectDemo5 { public static void main(String[] args) throws Exception{ Class c = Class.forName("cn.itcast.demo1.Person"); Object obj = c.newInstance(); //获取成员变量 Class类的方法 getFields() c

Android(java)学习笔记:109:通过反射获取成员变量并且使用

1 package cn.itcast_03; 2 3 import java.lang.reflect.Constructor; 4 import java.lang.reflect.Field; 5 6 /* 7 * 通过发生获取成员变量并使用 8 */ 9 public class ReflectDemo { 10 public static void main(String[] args) throws Exception { 11 // 获取字节码文件对象 12 Class c = C

00112_通过反射获取成员变量并使用

1.在反射机制中,把类中的成员变量使用类Field表示: 2.通过Class类中提供的方法获取成员变量: (1)返回一个成员变量 public Field getField(String name) 获取指定的 public修饰的变量 public Field getDeclaredField(String name) 获取指定的任意变量 (2)返回多个成员变量 public Field[] getFields() 获取所有public 修饰的变量 public Field[] getDecla

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

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

反射获取成员变量

Field Class.getField(String)方法可以获取类中的指定字段(可见的), 如果是私有的可以用getDeclaedField("name")方法获取,通过set(obj, "李四")方法可以设置指定对象上该字段的值, 如果是私有的需要先调用setAccessible(true)设置访问权限,用获取的指定的字段调用get(obj)可以获取指定对象中该字段的值 import java.lang.reflect.Constructor; import

Java反射获取Android系统属性值

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

Java反射理解(四)-- 获取成员变量构造函数信息

Java反射理解(四)-- 获取成员变量构造函数信息 步骤 获取成员变量信息: obj.getClass() 获取类类型对象 成员变量也是对象,java.lang.reflect.Field 类中封装了关于成员变量的操作: getFields() 方法获取的是所有的public的成员变量的信息 getDeclaredFields() 获取的是该类自己声明的成员变量的信息 getType() 得到成员变量的类型的类类型 getName() 得到成员变量的名称 获取成员变量构造函数信息: obj.g

Java--Reflect(反射)专题4——获取成员变量以及构造函数信息

转载请注明:http://blog.csdn.net/uniquewonderq 首先写一个获取成员变量的静态方法: 成员变量也是对象, 是java.lang.reflect.Field类的对象 Field类封装了关于成员变量的操作 getFields()获取的是所有的public的成员变量的信息 getDeclaredFields()获取的是该类自己声明的成员变量的信息,可能是私有的也可能是共有的 public static void printFieldMessage(Object obj)

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

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