Java反射得到属性的值和设置属性的值
2014-07-13 18:27
399 查看
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://zhangcb666.blog.163.com/blog/static/4696352920107255914820/
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://zhangcb666.blog.163.com/blog/static/4696352920107255914820/
相关文章推荐
- Java反射得到属性的值和设置属性的值
- Java反射得到属性的值和设置属性的值
- Java反射得到属性的值和设置属性的值
- Java反射:根据属性名得到其Set方法设置它的值
- Java反射得到属性的值和设置属性的值(转)
- Java反射得到属性的值和设置属性的值
- Java反射得到属性的值和设置属性的值
- Java通过反射得到属性的值和设置属性的值
- java基于反射得到对象属性值的方法
- JAVA利用反射得到类的属性名称
- java 反射 根据属性 动态设置值
- Java中用反射的方式获取类中的所有属性和方法,以及获取属性的默认值,设置属性的默认值
- java反射基本使用(得到类中属性、方法、构造方法)
- 【分享】java反射获取、设置、打印对象属性,对象转map基础工具
- java反射技术通过对象和属性名得到属性值
- Object get["属性"]; java反射技术通过对象和属性名得到属性值
- Java通过反射得到其属性的值包含父类属性
- Java通过反射机制动态设置对象属性值
- java反射之Field 获取对象属性及设置属性值