62,614
社区成员
发帖
与我相关
我的任务
分享
for (Object x : list) {
// 取到类名
System.out.println("Name: " + x.getClass().getSimpleName());
if(x instanceof Student){
Student s = (Student)x;
System.out.println("Name: " + s.getName());
}
if(x instanceof User){
User u = (User)x;
System.out.println("Name: " + u.getPassword());
}
}
for (Object x : list) {
// 取到类名
String name = x.getClass().getSimpleName();
if (name.equals("User")) {
User u = (User) x;
System.out.println("用户密码为 " + u.getPassword());
}
}
// 如果只需要User对象,可以加个判断
for (Object x : list) {
if(x instanceof User){
Field[] fields = x.getClass().getDeclaredFields();
for(Field field : fields){
System.out.println(field.getName());
// 如果要获取该属性的值,就要通过该属性名,拼凑出该属性的get方法名getMethodName
// 然后反射调用.
Object value = x.getClass().getMethod(getMethodName, new Class[] {}).invoke(
x, new Object[] {});
}
}
}
// 类似这样
for (Object x : list) {
Field[] fields = x.getClass().getDeclaredFields();
for(Field field : fields){
System.out.println(field.getName());
}
}