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 リフレクションに方法はありますか。これについて私を助けてください。
前もって感謝します... :)