[code]
setters = new HashMap<String, Method>();
for (Method method : clazz.getMethods()) {
String methodName = method.getName();//找出setter方法
//set方法至少长度为4,非静态,返回值为空,参数只有一个
if (methodName.length() < 4) { //把一些内部自己弄的method给过滤掉
continue;
}
if (Modifier.isStatic(method.getModifiers())) {//过滤静态方法
continue;
}
if (!method.getReturnType().equals(Void.TYPE)) {
continue;
}
if (method.getParameterTypes().length != 1) {
continue;
}
if (methodName.startsWith("set") && Character.isUpperCase(methodName.charAt(3))) {
String propertyName = Character.toLowerCase(methodName.charAt(3)) + methodName.substring(4);
setters.put(propertyName, method);
method.setAccessible(true);
}
}
[/code]
setters = new HashMap<String, Method>();
for (Method method : clazz.getMethods()) {
String methodName = method.getName();//找出setter方法
//set方法至少长度为4,非静态,返回值为空,参数只有一个
if (methodName.length() < 4) { //把一些内部自己弄的method给过滤掉
continue;
}
if (Modifier.isStatic(method.getModifiers())) {//过滤静态方法
continue;
}
if (!method.getReturnType().equals(Void.TYPE)) {
continue;
}
if (method.getParameterTypes().length != 1) {
continue;
}
if (methodName.startsWith("set") && Character.isUpperCase(methodName.charAt(3))) {
String propertyName = Character.toLowerCase(methodName.charAt(3)) + methodName.substring(4);
setters.put(propertyName, method);
method.setAccessible(true);
}
}
[/code]