- import java.beans.IntrospectionException;
- import java.beans.PropertyDescriptor;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- /**
- * 第三题:3、 写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.
- * public void setProperty(Object obj, String propertyName, Object value){
- * }
- * @author Administrator
- *
- */
- public class Test3 {
- public void setProperty(Object obj, String propertyName, Object value) throws Exception{
- //把obj对象当作javaBean来看,可以通过new PropertyDescriptor(propertyName, obj.getClass())得到想对于propertyName的属性
- PropertyDescriptor pd = new PropertyDescriptor(propertyName, obj.getClass());
- Method setPropertyName = pd.getWriteMethod();//用属性中得到写的方法得到setXxx方法
- setPropertyName.invoke(obj, value);//调用setXxx的invoke方法改变obj对象propertyName的值为value
- }
- }
复制代码
上面这道题中如果,obj对象中没有关于propertyName的属性的setXxx方法怎么办?
|