java - 参数化参数化方法的返回类型

标签 java generics type-conversion parameterized

我一直在尝试让这样的事情发挥作用:

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/

相关文章:

java - 创建一个上面有文字的矩形

java - 通配符背后的目的是什么?它们与泛型有何不同?

java - 如何在泛型方法中调用类的构造函数?

python - NumPy 或 Pandas : Keeping array type as integer while having a NaN value

c++ - 从 ‘const char*’ 到 ‘unsigned char*’ 的无效转换

Java 7 使用可变参数重载

java - 我该怎么办 session URL 很长,我无法附加 JSESSIONID=389729387392。解决方案是什么?

java - 生成某些数字范围的所有排列的序列第二部分

c# - 我可以使以下 IQueryable linq 语句通用吗

三元运算符和类型转换的混淆