Reflection Method.getParameterTypes() - 对象数组参数

mar*_*kiz 2 java reflection

我使用反射来获取所有方法参数名称.

问题是当其中一个参数是类型:the.package.myobject [](array)

String name = method.getParameterTypes()?[0].getName()
Run Code Online (Sandbox Code Playgroud)

我得到:[the.package.myobject;] //字母L和符号;

我怎样才能获得纯类型名称?(没有子串)

Mar*_*nik 8

您需要检查type.isArray(),如果是,请使用getComponentType().

final Class<?> c = method.getParameterTypes()[0];
final String name = (c.isArray()? c.getComponentType() : c).getName();
Run Code Online (Sandbox Code Playgroud)