gpt4 book ai didi

java - 具有多态泛型的映射

转载 作者:行者123 更新时间:2023-12-01 16:33:46 24 4
gpt4 key购买 nike

我有一个方法(我们称之为 doSomething ),它接受 Map<String,Object> 。我想传递 Map<String,Foo> (当然,Foo 扩展了 Object)。当我编译时,它说 doSomething不能应用于给定的类型。这是我的代码:

    public class FooMapChoo {

private Map<String, Foo> map;

public void doSomething(Map<String,Object>) {
}

public static void main(String...args) {
doSomething(map);
}

}

编译器输出:

    method doSomething in class FooMapChoo cannot be applied to given types;
doSomething(map);
^
required: Map<String,Object>
found: Map<String,Foo>

在我看来,Foo 应该多态地转换为 Object。我也尝试过类型转换 mapMap<String,Object> ,它只是告诉我“不可转换的类型”。我该如何解决多态性问题?

最佳答案

您需要使用通配符

Map<String, ? extends Object>

关于java - 具有多态泛型的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11605043/

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