如何将 getMethod() 与原始类型一起使用?
这是类:
class Foo {
public void bar(int a, Object b) {
}
}
现在我试图从类中“反映”此方法:
Class c = Foo.class;
Class[] types = { ... }; // what should be here?
Method m = c.getMethod("bar", types);
This is the class:
class Foo {
public void bar(int a, Object b) {
}
}
Now I'm trying to get "reflect" this method from the class:
Class c = Foo.class;
Class[] types = { ... }; // what should be here?
Method m = c.getMethod("bar", types);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只有一个
int.class
。另一种选择是
Integer.TYPE
。
这同样适用于其他原语。
There's just an
int.class
.An alternative is
Integer.TYPE
.The same applies on other primitives.
该方法的参数是原始
short
,而不是对象Short
。反射不会找到该方法,因为您指定了一个对象short。
getMethod()
中的参数必须完全匹配。编辑:
问题改了。最初,问题是找到一种采用单个原始短路的方法。
The parameter of the method is a primitive
short
not an ObjectShort
.Reflection will not find the method because you specified an object short. The parameters in
getMethod()
have to match exactly.EDIT:
The question was changed. Initially, the question was to find a method that takes a single primitive short.