gpt4 book ai didi

Java 泛型有声明

转载 作者:行者123 更新时间:2023-12-02 05:55:07 24 4
gpt4 key购买 nike

我有一个通用的 AVL 树类声明为:

public class AVLTree<T extends Comparable<T>>

每当我尝试在构造函数中将 avl 树类初始化为泛型时,我都会在另一个类中遇到编译器错误。

public class PQAVL<T> {
private AVLTree<T extends Comparable<T>> avl;
public PQAVL() {
avl = new AVLTree<T extends Comparable<T>>(true);
}
}

我尝试了几种不同的声明,但都收到错误。有谁知道我如何正确声明这一点?

最佳答案

<T extends ...> 的语法在声明新类型变量时使用。

声明变量或字段时不能声明新类型变量。您也不能将新类型变量声明为初始化表达式(例如

)的 tpe 参数
avl = new AVLTree<T extends Comparable<T>>(true);

您需要将您的类(class)更改为类似的内容

public class PQAVL<T extends Comparable<T>> {
private AVLTree<T> avl;
public PQAVL() {
avl = new AVLTree<T>(true);
}
}

以便类型参数在类级别声明并具有适当的界限。

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

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