// TODO: 利用反射给name和age字段赋值:
Class<?> cls = p.getClass();
try {
Field fldNameStr = cls.getDeclaredField("name");
Field fldAgeInt = cls.getDeclaredField("age");
fldNameStr.setAccessible(true);
fldAgeInt.setAccessible(true);
fldNameStr.set(p, name);
fldAgeInt.setInt(p, age);
//fldAgeInt.set(p, age); // Boxing & UnBoxing
} catch (NoSuchFieldException | SecurityException | IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Sign in to make a reply
张_典博
// TODO: 利用反射给name和age字段赋值:
Class<?> cls = p.getClass();
try {
Field fldNameStr = cls.getDeclaredField("name");
Field fldAgeInt = cls.getDeclaredField("age");
fldNameStr.setAccessible(true);
fldAgeInt.setAccessible(true);
fldNameStr.set(p, name);
fldAgeInt.setInt(p, age);
//fldAgeInt.set(p, age); // Boxing & UnBoxing
} catch (NoSuchFieldException | SecurityException | IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}