如何将getMethod()与原始类型一起使用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将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);
答案

只有一个int.class

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

另一种选择是Integer.TYPE

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

这同样适用于其他原语。

另一答案

该方法的参数是原始short而不是对象Short

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

编辑:问题已经改变。最初,问题是找到一个简单的原始方法。

以上是关于如何将getMethod()与原始类型一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

将 Streams 与原始数据类型和相应的包装器一起使用

如何使用 Diesel 将 i64 与 Insertable 一起使用

“var”和原始类型如何结合在一起?

GetMethod 的 Type[] 以获取具有两个参数和一个类型参数的泛型方法

将 recvfrom() 与原始套接字一起使用:一般疑问

将原始 SQL 与 Doctrine 一起使用