我们有一个Allocator有方法的类allocate(Class)。如何在不知道Class是什么类对象的情况下,从其中提取一个具有更改能力的字段?
用例objOFclassClass.newInstance()不起作用。无需为创建对象而进行的狩猎无需额外的内存成本。
class X {
public static boolean f = false;
}
class Y {
public static boolean f = false;
}
class Z {
public static boolean f = false;
}
class Allocator {
public static void allocate (Class c) throws Exception{
// Предполагая, что (c.name == "X" или "Y" или "Z"), как сделать что то в духе:
// c.setStaticField("f",true); ???
}
}
getDeclaredField,我们得到一个类的对象Fieldset此对象的方法来更改字段Ideone 上的代码