我的代码如下:
public static void main(String[] args) throws Exception {
printGettersSetters(PodmiotSzukajQueryFormSet.class);
}
public static void printGettersSetters(Class aClass) {
Method[] methods = aClass.getMethods();
for (Method method: methods) {
if (isGetter(method)) {
System.out.println("getter: " + method);
}
}
}
public static boolean isGetter(Method method) {
if (!method.getName().startsWith("getSomething")) {
return false;
}
if (method.getParameterTypes().length != 0) return false;
if (void.class.equals(method.getReturnType())) return false;
return true;
}
输出:
getter:public package.package.Class package.package.Class.getSomething()
在这个例子中,我怎样才能得到一种吸气剂:" Class"但在其他例子中" String" ," int"等
- 编辑 有可能 .getModifiers()但它返回int。我该如何返回String?
答案 0 :(得分:1)
考虑您正在寻找对象getReturnType()
java.lang.reflect.Method
public class getReturnType()
返回一个Class对象,该对象表示该的正式返回类型 此Method对象表示的方法。
返回:的返回类型 此对象表示的方法
答案 1 :(得分:1)
在for循环中执行此操作:
for (Method method : methods) {
if (isGetter(method)) {
String type = String.valueOf(method.getReturnType());
System.out.println("getter: " + method + ". Return type: " + type);
}
}