gpt4 book ai didi

Java - 使用 Comparable 的静态泛型类型

转载 作者:行者123 更新时间:2023-11-29 07:16:25 24 4
gpt4 key购买 nike

好吧,我一直在尝试实现一个默认使用可比较数据类型的简单二叉搜索树。

忽略我在类里面的所有其他方法,这是我认为非常标准的一般设置:

public class BSTNode<E extends Comparable<? super E>>{
E data;
BSTNode<E> left;
BSTNode<E> right;
//and I'm trying to define a static method(inside of the class) like this:
public static <E> String displayAscending(BSTNode<E> node){}
}

但是编译器不喜欢它。现在,我对泛型类型有点陌生,所以我将解释我对它的作用的理解,这可能会帮助您弄清楚我的想法有什么问题。

E extends Comparable所以基本上一个对象 E 是 Comparable 的扩展。 Comparable 有一个元素是 E 的祖先,这本质上是一种抽象的说法,可以使用 Comparable 接口(interface)将 E 与其其他元素进行比较。

然后在我的静态方法中,我试图递归地传递 BSTNode。我似乎无法理解为什么它不起作用。我知道如果我通过 BSTNode<?>它工作正常,但这似乎很危险。如果有人可以向我解释为什么这不起作用,我可以尝试找到另一种解决方案。

最佳答案

试试这个

public static <E extends Comparable<? super E>> String displayAscending(BSTNode<E> node)

关于Java - 使用 Comparable 的静态泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9255248/

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