当前位置: 代码迷 >> java >> 如何打印一种类型的吸气剂
  详细解决方案

如何打印一种类型的吸气剂

热度:20   发布时间:2023-08-02 10:53:58.0

我有如下代码:

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:公共package.package.Class package.package.Class.getSomething()

我如何获得该吸气剂的类型,在本示例中为:“类”,但在其他示例中为“ String”,“ int”等。

--edit可以使用.getModifiers(),但它返回int。 如何返回字符串?

想想您在寻找什么对象java.lang.reflect.Method的方法getReturnType()

公共类getReturnType()

返回一个Class对象,该对象表示此Method对象表示的方法的形式返回类型。

返回值:该对象表示方法的返回类型

在您的for循环中执行此操作:

for (Method method : methods) {
  if (isGetter(method)) {
    String type = String.valueOf(method.getReturnType());
    System.out.println("getter: " + method + ". Return type: " + type);
  }
}
  相关解决方案