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; }