gpt4 book ai didi

Java:扩展和实现的对象映射

转载 作者:行者123 更新时间:2023-12-01 17:20:13 25 4
gpt4 key购买 nike

我正在尝试制作一个既实现又扩展的对象的映射。他们正在扩展的类(JPanels)我无法控制。不过,我确实可以控制界面。

这是我尝试过的

Map<MyEnum, ? extends JPanel & MyInterface> myMap;

但是,这是一个编译时错误。

我可以创建一个抽象类,然后让子类扩展它,但这似乎有点繁琐(或者是吗?)。

郑重声明,我使用的是 Java 6

最佳答案

That, however, is a compile time error.

是的。您不能为通配符指定多个界限。对于可以在何处使用通配符以及在何处可以使用类型参数存在一些限制。类型参数可以有多个界限,但不能有下限。另一方面,通配符可以有下限,但它们没有多个界限。

一种选择是将类型参数声明为类的一部分,并为其指定多个边界:

class MyClass<T extends JPanel & MyInterface> {
Map<MyEnum, T> myMap; // This would work fine now
}

另请参阅:

引用文献:

关于Java:扩展和实现的对象映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19305627/

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