本帖最后由 y510662669 于 2012-11-26 00:58 编辑
public static void main(String[] args) {
Student s=new Student();
try {
BeanInfo bi=Introspector.getBeanInfo(s.getClass());
PropertyDescriptor pd[]= bi.getPropertyDescriptors();
for(PropertyDescriptor prd:pd){
// System.out.println(prd.getName());//不明白这个地方获取名字,获取的是谁的名字,我查API发现PropertyDescriptor
没有这个这个方法,而且我的打印的是age,请高手指点这个地方到底什么意思?
Method m=prd.getWriteMethod();
if(m.getName().equals("setName")){
m.invoke(s ,"zhangsan");//还有这个反射的invoke到底怎么用来,前两个月学的时候还很明白,现在直接都忘干净了,求高手详细解释?
//
}
}
System.out.println(s.getName());
// System.out.println(s.getAge());
//
} catch (IntrospectionException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
还有我的这个也报异常, java.lang.NullPointerException,空指针异常,就是if那个地方有空指针异常。。求指点。。下面是我的javaben类!
public class Student {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
|