[code="java"]Field field = mybean.getClass().getField("age");//mybean 为某个类,在mybean中,age为int 类型
Object age = "20";//因为此处的age是动态获得的,也有可能是string类型或者别的基本类型,所以这里用Object
field.set(mybean, age);[/code]
到设置时就出异常了。
ava.lang.IllegalArgumentException
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63);
如果把 mybean 中的 age 改成 String 类型就不会有问题。不知道还有没有别的方法可以解决。谢了。。。~_~
[code="java"]
Field field = mybean.getClass().getField("age");//mybean 为某个类,在mybean中,age为int 类型
Class typeClass = field.getType();
Constructor con = typeClass.getConstructor(typeClass);
Object age = con.newInstance("20");
field.set(mybean, age);
[/code]
field.getType()得到它的类型
field.setAccessible(true),这样就给私有变量赋值