利用反射获取类的属性名称
2009-05-25 09:58
344 查看
类
package com;
public class Test {
private String name;
private String pass;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
获取类
package com;
import java.lang.reflect.Field;
public class My {
public static void setAllComponentsName(Object f)
{
Field[] fields = f.getClass().getDeclaredFields();
for (int i = 0, len = fields.length; i < len; i++) {
try {
String varName = fields[i].getName();
boolean accessFlag = fields[i].isAccessible();
fields[i].setAccessible(true);
Object o = fields[i].get(f);
System.out.println("传入的对象中包含一个如下的属性:" + varName + " = " + o);
fields[i].setAccessible(accessFlag);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
setAllComponentsName(new Test());
}
}
package com;
public class Test {
private String name;
private String pass;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
获取类
package com;
import java.lang.reflect.Field;
public class My {
public static void setAllComponentsName(Object f)
{
Field[] fields = f.getClass().getDeclaredFields();
for (int i = 0, len = fields.length; i < len; i++) {
try {
String varName = fields[i].getName();
boolean accessFlag = fields[i].isAccessible();
fields[i].setAccessible(true);
Object o = fields[i].get(f);
System.out.println("传入的对象中包含一个如下的属性:" + varName + " = " + o);
fields[i].setAccessible(accessFlag);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
setAllComponentsName(new Test());
}
}
相关文章推荐
- 利用反射机制动态获取对象属性名称及数据类型
- 利用反射获取静态类的静态属性值(已知属性名称的字符串表示)
- 利用反射机制动态获取对象属性名称及数据类型
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- C#,利用反射获取私有成员或属性
- java利用反射获取类属性名,获取JavaBean属性名
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- 利用反射获取.DLL文件中的属性和方法以及版本信息
- PropertyUtils.getPropertyDescriptors利用反射机制获取类中的属性
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- 利用反射获取java类属性并赋值
- 利用Lambda获取类中属性名称
- android 利用反射获取当前系统sdk版本等属性
- C#利用反射机制,获取实例的属性和属性值
- C#利用反射获取对象属性值
- 通过反射获取类中的属性,并且将类中的属性名称以及对应的值赋给另一个类中的对象
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- c# 利用反射获取属性名和值
- JAVA利用反射得到类的属性名称
- Java利用反射获取object的属性和值代码示例