//时 代 J a v a 公 众 号 - nowjava.com
//package com.nowjava;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] argv) throws Exception {
Class clazz = String.class;
String fieldName = "nowjava.com";
System.out.println(findSetter(clazz, fieldName));
}
public static Method findSetter(Class<?> clazz, String fieldName) {
List<Method> methods = findMethod(clazz, calcSetterName(fieldName));
methods.addAll(findMethod(clazz, fieldName));
for (Method method : methods) {
if (method != null && method.getParameterTypes().length == 1)/* from N o w J a v a . c o m - 时 代 Java*/
return method;
}
return null;
}
public static List<Method> findMethod(Class<?> clazz, String name) {
List<Method> ret = new ArrayList<Method>();
for (Class<?> c = clazz; c != null; c = c.getSuperclass()) {
Method[] methods = (c.isInterface() ? c.getMethods() : c
.getDeclaredMethods());
for (Method method : methods) {
if (name.equals(method.getName()))
ret.add(method);
}
}
return ret;
}
/**代码未完, 请加载全部代码(NowJava.com).**/
本文系作者在时代Java发表,未经许可,不得转载。如有侵权,请联系nowjava@qq.com删除。