gpt4 book ai didi

Java 扩展类作为函数参数

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:39:47 25 4
gpt4 key购买 nike

不是 java 的新手,但这个问题困扰着我。我觉得我没有扎实的基础。

假设有类A , B , CB extends AC extends A .我的问题是,如何定义方法 f()这样它就可以采用 List<A> 之一, List<B>List<C>作为论据?

最佳答案

使用上限通配符:

f(List<? extends A> list)

参见 Oracle's tutorial获取更多信息。

请注意,这限制了您只能从方法主体中的列表中获取内容;你不能调用列表中的消费者方法:

A item = list.get(0);  // OK.
list.add(new A()); // Not OK! list might be a List<B>.

关于Java 扩展类作为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44064404/

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