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 方法的值 } } } }
Java反射得到属性的值和设置属性的值
Posted yaoh371
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java反射得到属性的值和设置属性的值相关的知识,希望对你有一定的参考价值。
以上是关于Java反射得到属性的值和设置属性的值的主要内容,如果未能解决你的问题,请参考以下文章
java 27 - 8 反射之 通过反射来设置某个对象的某个属性为指定值