使用Java Reflection访问POJO类中的所有字段

时间:2013-05-10 10:35:32

标签: java

我有一个关于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 Reflection访问字段的代码。

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 Reflection中有什么办法吗?请帮帮我。

提前致谢...:)

0 个答案:

没有答案