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

标签 java reflection

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

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

String name = method.getParameterTypes()‬[0].getName()

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

如何获得纯类型名称? (没有子串)

最佳答案

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

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

关于java - Reflection Method.getParameterTypes() - 对象参数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13379560/

相关文章:

java - 读取文件错误: File Not Found

java - 修改 JFrame 中的 JLabel 元素组

kotlin - 如何使用反射更改 kotlin 私有(private)验证?

java - 用接受字符串参数的构造函数实例化一个类对象?

java - 单击通知后从后台打开应用程序后运行函数

java - 区分 "blank input"和将零值作为实际输入

java - 当构造函数采用字符串数组作为参数时,使用反射创建对象实例

c# property incrementer 方法

java - 使用 jdbc 将枚举值保存并读取到数据库?

c# - 什么时候使用反射?模式/反模式