2

リフレクションを使用して、すべてのメソッドパラメーター名を取得しています。

問題は、パラメーターの1つが次のタイプの場合です。the.package.myobject[](配列)

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

次のようになります:[the.package.myobject;]//文字Lと記号;

どうすれば純粋な型名を取得できますか?(サブストリングなし)

4

2 に答える 2

8

type.isArray()を確認し、そうであれば使用する必要がありますgetComponentType()

final Class<?> c = method.getParameterTypes()[0];
final String name = (c.isArray()? c.getComponentType() : c).getName();
于 2012-11-14T13:20:38.857 に答える
1

ほとんどの場合、あなたが望むのは

Class firstType = method.getParameterTypes()‬[0];

// will be null if not an array.
Class firstComponentType = firstType.getComponentType();
于 2012-11-14T13:18:49.433 に答える