gpt4 book ai didi

带有 super 的 Java 通配符

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

我读到过像这样在 super 中使用通配符:

public class MyClass <T extends Comparable<? super T>> {
...
}

代替:

public class MyClass <T extends Comparable<T>> {
...
}

可以使类“更通用”,但我不明白为什么。

谁能提供一些具体的例子?

最佳答案

这样您就可以为 T 提供一个类,它本身并不实现 Comparable,而是继承自一个实现 Comparable 的类。

例如

class Baseclass implements Comparable<Baseclass> {
...
}

class Inherited extends Baseclass {
...
}

规范如

public class MyClass <T extends Comparable<? super T>> {
...
}

你可以使用MyClass<Inherited> , 和 MyClass<Baseclass> , 但是用

public class MyClass <T extends Comparable<T>> {
...
}

你只能使用MyClass<Baseclass>

关于带有 super 的 Java 通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24609278/

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