如何将 getMethod() 与基元类型一起使用?

2022-08-31 14:35:27

这是类:

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);

答案 1

只有一个.int.class

Class[] types = { int.class, Object.class };

另一种方法是 Integer.TYPE

Class[] types = { Integer.TYPE, Object.class };

这同样适用于其他基元。


答案 2

该方法的参数是基元而不是对象 。shortShort

反射找不到该方法,因为您指定了一个短对象。中的参数必须完全匹配。getMethod()

编辑:问题已更改。最初,问题是找到一种采用单个原始短点的方法。