Java 查找给定基元类的引用类

Java 查找给定基元类的引用类,java,reflection,Java,Reflection,我正在尝试构建一个比基本Java反射更为类型安全的替代方案,但遇到了一些问题。我有一个类BoundMethod,它绑定了一个方法和一个对象,因此可以调用该方法,并以类型安全的方式返回结果(类型为T)。这涉及将类传递给构造函数,并使用该类强制转换返回值(即return returnType.cast(method.invoke(object,params))) 我遇到的问题是,如果我根据method对象中的getReturnType()的结果自动创建这些对象,并且返回类型是一个基元对象,我会得到一

我正在尝试构建一个比基本Java反射更为类型安全的替代方案,但遇到了一些问题。我有一个类
BoundMethod
,它绑定了一个方法和一个对象,因此可以调用该方法,并以类型安全的方式返回结果(类型为T)。这涉及将类传递给构造函数,并使用该类强制转换返回值(即
return returnType.cast(method.invoke(object,params))

我遇到的问题是,如果我根据method对象中的
getReturnType()
的结果自动创建这些对象,并且返回类型是一个基元对象,我会得到一个ClassCastException,因为您无法动态转换为基元类型。我需要一种替换适当引用类型的方法,但我找不到一种简单的方法


是否有一些预构建的解决方案,或者我需要自己构建一个吗?

检查
returnType
,看看它是否是一个原语:

returnType.isPrimitive();
如果是的话


不幸的是,这会使您打开值的自动装箱,但当您混合使用泛型和原语时,就会发生这种情况。

您必须将所有原语类型映射到它们的包装器。e、 g.对于
Map
,反射库在任何情况下都只使用包装器。