gpt4 book ai didi

java - 声明泛型方法,需要澄清

转载 作者:太空狗 更新时间:2023-10-29 22:56:55 24 4
gpt4 key购买 nike

考虑以下 2 个方法声明:

1. public abstract <T extends MetaData> List<T> execute();
2. public abstract List<? extends MetaData> execute();

两者似乎都返回扩展元数据的对象列表

请问它们有什么区别?

最佳答案

在第一种情况下,您将允许 Java 使用类型推断并推断 T 的类型。在每个调用站点。

在第二种情况下,你总是会得到一个 List<? extends MetaData>因此无法将其分配给任何更窄类型的变量,如 List<IntegerMetaData> .

关于java - 声明泛型方法,需要澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11778379/

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