如何打印一种吸气剂

时间:2015-07-23 13:16:19

标签: java reflection getter

我的代码如下:

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?

2 个答案:

答案 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);
  }
}