Java 的类常常带有setter 和getter 为类的成员变量赋值(类的属性)。setter 一般指以set开始的成员方法用于设置类的某个属性值,而getter 一般指一get开始的成员方法,用于去的类的某个属性值。setter 一般只带一个参数,而getter不带参数。
下面的代码可以用来判断getter 和setter 方法:
public static void printGettersSetters(Class aClass){
Method[] methods = aClass.getMethods();
for(Method method : methods){
if(isGetter(method)) System.out.println("getter: " + method);
if(isSetter(method)) System.out.println("setter: " + method);
}
}
public static boolean isGetter(Method method){
if(!method.getName().startsWith("get")) return false;
if(method.getParameterTypes().length != 0) return false;
if(void.class.equals(method.getReturnType()) return false;
return true;
}
public static boolean isSetter(Method method){
if(!method.getName().startsWith("set")) return false;
if(method.getParameterTypes().length != 1) return false;
return true;
}