我有一个关于java反射的问题。我正在尝试获取特定类的所有字段(包括公共和私有字段)。
public class Address extends BaseModel {
/**
*
*/
private static final long serialVersionUID = 1L;
private String streetAddress;
private String city;
private String state;
private String postalCode;
private String country;
// References............
private Candidate candidate;
private TrainingBatch trainingBatch;
private ContactInformation contactInformation;
// Getters And Setters
}
我正在尝试使用 Java Reflection 获取所有这些字段。但是,如果您观察我的 POJO 类,我正在使用其他类参考(如 Candidate、TrainingBatch、ContactIformation)。下面是我使用 Java 反射访问字段的代码。
public class Reflection {
public static void main(String[] args) throws ClassNotFoundException {
String name = Address.class.getName();
System.out.println(name);
Class cls = Class.forName(name);
// Field[] fields = cls.getFields();
Field[] fields = cls.getDeclaredFields();
for (Field field : fields) {
if(cls.isAssignableFrom(field.getType())){
System.out.println(field.getName() + "\t" + field.getType());
}
}
}
}
所以在这里当我执行这个时,我得到了我的 POJO 类中的所有字段。但我不想要引用的字段以及“serialVersionUID”字段。那么如何使用 Java 反射来避免这些字段。Java反射有什么办法吗?请帮助我。
提前致谢... :)