我正在尝试为基本 Java 反射构建一个类型更安全的替代方案,并且遇到了一些问题。我有一个BoundMethod<T>
绑定方法和对象的类,因此可以调用该方法并以类型安全的方式返回结果(类型 T)。这涉及将一个 Class 传递给构造函数,并使用该类来转换返回值(即return returnType.cast(method.invoke(object, params))
)。
我遇到的问题是,如果我根据getReturnType()
方法对象中的结果自动创建这些对象并且返回类型是原始对象,我会得到 ClassCastException,因为您不能动态转换为原始类型。我需要一种替换适当引用类型的方法,但我找不到一种简单的方法来做到这一点。
有一些预先构建的解决方案,还是我需要自己构建一个?