gpt4 book ai didi

java - 和 < 有什么区别?在 Java 泛型中扩展 Object>?

转载 作者:IT老高 更新时间:2023-10-28 11:38:34 26 4
gpt4 key购买 nike

我以前见过通配符表示任何对象 - 但最近看到了一个用法:

<? extends Object>

由于所有对象都扩展了 Object,这两种用法是同义词吗?

最佳答案

<?><? extends Object>如您所料,是同义词。

在泛型的一些情况下,extends Object实际上并不是多余的。例如,<T extends Object & Foo>会导致T成为Object在删除下,而使用 <T extends Foo>它将变为 Foo在删除之下。 (如果您试图保持与使用 Object 的预泛型 API 的兼容性,这可能很重要。)

来源:http://download.oracle.com/javase/tutorial/extra/generics/convert.html ;它解释了为什么 JDK 的 java.util.Collections类有一个带有这个签名的方法:

public static <T extends Object & Comparable<? super T>> T max(
Collection<? extends T> coll
)

关于java - <?> 和 < 有什么区别?在 Java 泛型中扩展 Object>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8055389/

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