gpt4 book ai didi

java - 如何使用单个类型参数为泛型类型指定两个具体类型参数?

转载 作者:行者123 更新时间:2023-12-02 06:03:50 24 4
gpt4 key购买 nike

社区。我有以下情况。我正在使用 java 集合,比如说 List例如界面。它是一个通用接口(interface),其元素具有类型参数 E。就我而言,我知道要插入的元素的类型,但问题是要插入两种类型的元素。假设我有 A 类和 B 类,它们没有任何共同点。 A 和 B 最近的共同祖先是 Object类(class)。类型 A 和 B 不是由我定义的,因此我无法更改类型层次结构。如果我这样定义我的列表:

List<A> list = new ArrayList<>();

那么只允许类型 A 的元素,如果我这样定义它:

List<B> list = new ArrayList<>();

那么只允许使用 B 类型的元素。有没有办法进行逻辑或?如何指定我想要类型 A 或类型 B 的元素而不需要其他元素?或者java的方式是make:

List<Object> list = new ArrayList<>();

并在执行任何列表操作时自行检查类型?

最佳答案

出于您的目的,您需要诸如联合类型之类的东西,而 Java 不提供这种类型。你自己给出了答案:如果你不能修改层次结构,甚至不能让A和B实现相同的接口(interface),那么你就必须使用List<Object>并自己进行额外的类型检查。

关于java - 如何使用单个类型参数为泛型类型指定两个具体类型参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22455381/

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