gpt4 book ai didi

java - 为什么返回List<?扩展 T> 只读并返回 List 只写?

转载 作者:行者123 更新时间:2023-12-01 15:19:12 24 4
gpt4 key购买 nike

Possible Duplicate:
What is a difference between <? super E> and <? extends E>?

我所在团队中的一些 Java 程序员正在编写返回 List<? extends T> 类型对象的函数。创建只读列表并返回 List<? super T> 类型的对象制作只写列表。

在 Java 中,什么构成 List<? extends T>只读和 List<? super T>只写?

最佳答案

请阅读“生产者扩展,消费者 super ”(PECS) - 我可能需要做同样的事情:)

只读:

如果您想确保方法将项目集合(使用泛型)作为参数 - 当您使用 List<? extends T> 时- 列表可以包含 T 的任何子类型,但不能添加到集合中,因为它在运行时不知道列表包含的 T 的特定类型。

只写:

对于List<? super T> ,无论实际参数化类型如何,列表都可以包含 T (使用 super 将允许这种情况发生)。

希望有帮助。

关于java - 为什么返回List<?扩展 T> 只读并返回 List<? super T> 只写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11200625/

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