我一直在尝试让这样的事情发挥作用:
private static <V, K> V<KnownType> from(K oldObject, Class<? extends V<KnownType>> newClass) {
...
}
但是,此方法签名会出现编译器错误:
The type V is not generic; it cannot be parameterized with arguments
<KnownType>
基本上,我想要一个转换 K
的方法至V<KnownType>
。这可能吗?
此外,还有一些额外的上下文,以防有人为此编写代码 - 所有 V
有一个单参数构造函数,它接受 K
.
提前致谢。
编辑 -- 输入类是 V 的子类。( ? extends V...
)
最佳答案
假设:
public interface SomeType<E>
试试这个:
private static <V extends SomeType<KnownType>, K> V from(K oldObject, Class<V> newClass) {
关于java - 参数化参数化方法的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13337429/