如果我有一个类的类字面量对象,我能否向该类添加一个新字段?如何确定特定的Class是否被引用或在该类字面量中使用?
如果我有一个类的类字面量对象,我能否向该类添加一个新字段?如何确定特定的Class是否被引用或在该类字面量中使用?
Class
对象中添加新字段。虽然有第三方API可以用于类的生成或修改(例如ASM,BCEL),但是最好避免使用它们,因为它们会增加很多复杂性。Class
对象来遍历字段并检查它们。// NOTE : this only looks at the fields in A and not it's superclass.
// you'll have to do a recursive lookup if you want super's fields too.
for(Field field : A.class.getDeclaredFields()) {
if(B.class.equals(field.getType()) {
System.out.println("A." + field.getName() + " is of type B");
}
}
您没有说明需要此功能的用途,但如果您想坚持使用Java,则可以考虑JAXB:您将Java类声明为XML,并动态生成它。也许这可以帮助您。