gpt4 book ai didi

Java泛型问题

转载 作者:行者123 更新时间:2023-12-01 05:44:34 24 4
gpt4 key购买 nike

我遵循类的定义。

public class Test2<T extends Test3> {

private T t ;


public T foo() {
Test3 test3 = new Test3();
t = test3; // I get compilation error here.**
return t;
}

}

class Test3 {

}

我在 t=test3 行遇到编译错误,提示“类型不匹配无法从 Test3 转换为 T;怎么了?

最佳答案

你所做的等同于:

Integer n = new Number();

并且与泛型无关(注意 Integer extends Number)。编译器指示您不能将父类型分配给子类型的实例,父类型可能未实现子类型所需的所有方法。

在这种情况下,TTest3 的子类型,或 Test3 本身。所以在这里,您试图将父类 (T) 分配给包含子类 (Test3) 的变量,但它失败了,就像上面的示例一样。

关于Java泛型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4359158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com