gpt4 book ai didi

Java泛型类,如何创建实例

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:14 26 4
gpt4 key购买 nike

我有以下类结构:

public abstract class Generic<T extends SuperClass>

public class SuperGeneric<T extends SuperClass & SomeInterface>
extends Generic<T>

现在我想创建一个 SuperGeneric 的实例涵盖所有可能的类别。我这样试过:

Generic<? extends SuperClass & SomeInterface> myGeneric 
= new SuperGeneric<? extends SuperClass & SomeInterface>();

现在这似乎行不通了。在 Generic它给出以下错误:Incorrect number of arguments for type Generic<T>; it cannot be parameterized with arguments <? extends SuperClass, SomeInterface> .

new SuperGeneric 上我收到类似的错误:Incorrect number of arguments for type SuperGeneric<T>; it cannot be parameterized with arguments <? extends SuperClass, SomeInterface> .

知道如何正确创建此 SuperGeneric 的实例吗? ?

我的想法是我有 2 个不同的类来满足 extends SuperClass & SomeInterface条件,但这些不能用一种类型概括。

最佳答案

当你想实例化一个泛型类时,你需要提供具体类型。你说有两个类满足约束。假设它们是 Type1Type2

那么你应该能够做到:

Generic<Type1> myGeneric1 = new SuperGeneric<Type1>();

Generic<Type2> myGeneric2 = new SuperGeneric<Type2>();

通配符仅用于声明。他们的意思是:你可以在这里放置任何类型(满足给定的约束)

关于Java泛型类,如何创建实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10719690/

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