gpt4 book ai didi

Java 泛型 : what is the difference between 并跳过它?

转载 作者:行者123 更新时间:2023-11-30 11:20:55 30 4
gpt4 key购买 nike

也许这是个愚蠢的问题:假设我有

abstract class A<T> {
List<Wrapper<T>> doStuff()
}

我有class B extends A<String>class C extends A<Integer>

现在我想要:

List<A> aces = list with instances of B and C;

List<Wrapper> wrapperedItems = flattened list of lists returned from doStuff() on all items in aces

此时我不关心 Wrapper 中的类型是什么.我的问题是:我应该在某个地方使用 <?>或者我可以跳过它吗?有什么区别?

最佳答案

如果您使用 List<Wrapper<?>> ,您将能够从列表中获取对象,但不能添加新项目。通配符本质上对应于不同于任何其他类型的类型,包括其他通配符。

如果您使用 List<Wrapper> ,您将能够获取列表项并添加新列表项,但现在您有责任防止不正确的类型转换。

关于Java 泛型 : what is the difference between <? > 并跳过它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22503713/

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