首页 > 解决方案 > 从 Java 中的 Map 中删除 Class 对象键

问题描述

我有一个由字符串和类 object 组成的键/值对的 Map Block。该remove(Object key, Object value)方法未能实际删除指定的对象。

private static Map<String, ArrayList<Block>> stockInfo = new LinkedHashMap<>();

我的 IDE 提示我在Object value数据字段中的输入“可能不包含‘块’类型的值”关于 Java 和在方法中传递值我缺少什么基本概念?我只用 Java 编码了很短的时间。

stockInfo.remove(symbolCode, (stockInfo.get(symbolCode)).get(0));

标签: javaobjectcollections

解决方案


我有一个由字符串和类对象块组成的键/值对的映射。

不,你没有。

您声明了String到类型对象集合Block的映射。特别是一个ArrayList集合。

因此编译器拒绝您删除字符串到块条目的尝试,因为没有这样的条目。您的Map.

Map<String, ArrayList<Block>> stockInfo = new LinkedHashMap<>();

字符串到块的映射如下所示:

Map< String, Block > 

推荐阅读