您不能填充设置器,因为它们是方法(功能),而不是值本身。但是......
您可以填充对应于getter的类的属性(字段)的值。
假设你有一个类:
class Example {
String name;
int topOne;
int topTwo;
int popTwo; // POP!!!
int topThree;
}
服用:
您可以通过这种方式仅通过反射获得所需的字段:
public static void main(String[] args) {
inspect(Example.class);
}
public static <T> void inspect(Class<T> klazz) {
Field[] fields = klazz.getDeclaredFields();
for (Field field : fields) {
if (field.getName().startsWith("top")) {
// get ONLY fields starting with top
System.out.printf("%s %s %s%n",
Modifier.toString(field.getModifiers()),
field.getType().getSimpleName(),
field.getName()
);
}
}
}
输出:
int topOne
int topTwo
int topThree
现在,在里面做任何你需要的事情,if (field.getName().startsWith("top")) {而不是System.out.