从实例Class <!-?->获取类名

时间:2019-05-22 07:11:45

标签: java

我有这种方法:

public Method getDeclaredMethod(String name, Class<?>... parameterTypes)

是否可以从parameterTypes获取类的名称?

parameterTypes的值为Class[0]@46617

1 个答案:

答案 0 :(得分:2)

好吧,您正在使用varargs (...),所以您将无法仅获得一个类的名称,因为varargs参数只是一个任意长度的数组。您看到的toString()结果仅仅是Object's default toString implementation

由于具有数组,因此可以分别获取每种Class<?>类型的名称:

for(Class<?> parameterType : parameterTypes) {
    parameterType.getCanonicalName();
}

方法.getCanonicalName()将返回包含包前缀的完全合格的类名,但是有other methods available

还值得注意的是,在您的特定示例中,您有一个Class[0](长度为零的Class个元素数组,长度为零),因此即使使用for循环,您也可以赢如果未填充此数组,将无法看到任何内容。