当前位置: 首页 > 面试题库 >

Map类型的方法 不适用

赵奕
2023-03-14
问题内容

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

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

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

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

错误:

Map类型的方法put(String,capture#1-of?extended Object)不适用于参数(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。我们传递来添加的任何参数都必须是该未知类型的子类型。由于我们不知道那是什么类型,因此我们无法传递任何内容The sole exception is null, which is a member of every type



 类似资料:
  • 我试图在一个测试中模拟。我在网上找到了一些人们也这么做的例子。 一个例子来自sping-data-elasticsearch,另一个来自一些教程。 这是我自己的例子。 不幸的是,我看到了一些警告。以下是我得到的: 网络客户。RequestHeaderUrispec是原始类型。对泛型类型WebClient的引用。RequestHeaderUrispec应该参数化 当我更改代码并向添加通配符时,我会收

  • 我遇到了一个奇怪的例外 '_InternalLinkedHashMap 我不知道怎么画地图 第一次运行代码时,它可以正常工作,因为它可以访问else部分。当它第二次应该访问第一个部件时,它会产生上述异常。 } 输出 FoodLog输出: {2021年8月3日:{早餐:{鱼片:{碳水化合物:0.0,脂肪:1.7,蛋白质:20.08,钙:95}},晚餐:{},零食:{},午餐:{} E/flatter

  • 我正在开发一个依靠API REST调用的flutter应用程序。来自API的响应有点复杂。当调用我的API(例如:api/产品)时,我可以从日志中看到响应:但是我有这个错误: 类型列表 StackTrace: [更新]:退货产品响应。fromJson(response)而不是response ProductsRespository: ProductsBloc: 回应: ApiProvider: 模

  • 我已经尝试了网络上提供的所有解决方案,但都无效。请尽快提供帮助。同步错误: 生成文件“C:\Users\AH\U GL\Desktop\apps android commons\apps\Build”。格拉德尔线:149 评估项目“:app”时出现问题。 没有方法的签名:build_bacf6ncg9oj63qiyhi1id1rfi.android()适用于参数类型:(build_bacf6ncg

  • 我正在学习飞镖和颤振。现在,我尝试将JSON作为一种持久性方法。我犯了很多错误,都是关于类型和内容的。这是我遇到的最新错误:

  • 我试图从API获取数据。我得到了错误类型列表不是地图的子类型。我是新来的,不明白我在哪里犯了错误。 这是我的回帖功能: 在我的主屏幕中,我使用了一个,如下所示: 如何解决此错误?提前谢谢。