gpt4 book ai didi

java - Map 不适用

转载 作者:IT老高 更新时间:2023-10-28 20:53:23 25 4
gpt4 key购买 nike

由于接口(interface),我实现了以下 JAVA 方法:

public String importDocument(ImportSource source, Map<String, ? extends Object> paramMap);

当我尝试执行以下操作时,我收到了编译警告。片段:

paramMap.put("Key", "Value");

错误:

The method put(String, capture#1-of ? extends Object) in the type Map is not applicable for the arguments (String, String)

为什么?

最佳答案

? extends Object

您正在使用通用通配符。您不能执行添加操作,因为类类型不确定。您不能添加/放置任何东西(null 除外)。

有关使用通配符的更多详细信息,您可以引用 oracle docs .

Collection<?> c = new ArrayList<String>();
c.add(new Object()); // Compile time error

因为我们不知道 c 的元素类型代表什么,所以我们不能给它添加对象。 add() 方法接受 type E 的参数,即集合的元素类型。当实际的类型参数是?时,它代表一些unknown type。我们传递给 add 的任何参数都必须是这种未知类型的子类型。因为我们不知道那是什么类型,所以我们不能传入任何东西。唯一的异常(exception)是 null,它是每个类型的成员

关于java - Map<String,capture#1-of 类型中的方法?扩展对象> 不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21041142/

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