[英]Removal of Class object key from Map in Java
我有一个 Map ,其键/值对由字符串和 class object Block
组成。 remove(Object key, Object value)
方法无法真正删除指定的 object。
private static Map<String, ArrayList<Block>> stockInfo = new LinkedHashMap<>();
我的 IDE 提示我,我在
Object value
数据字段中的条目“可能不包含‘块’类型的值”关于 ZD52387880E1EA22817A71ZD37592138 中的方法和传递值,我缺少什么基本概念? 我只在 Java 中编码了很短的时间。
stockInfo.remove(symbolCode, (stockInfo.get(symbolCode)).get(0));
我有一个 Map,其键/值对由字符串和 class object 块组成。
不,你没有。
您声明了String
到Block
类型对象集合的映射。 特别是ArrayList
集合。
因此编译器拒绝您删除字符串到块条目的尝试,因为没有这样的条目。 您的Map
中只有 string-to-list-of-blocks 条目。
Map<String, ArrayList<Block>> stockInfo = new LinkedHashMap<>();
字符串到块的映射如下所示:
Map< String, Block >
stockInfo.remove(symbolCode, (stockInfo.get(symbolCode)).get(0));
你想删除什么? 如果您有三个块对象,例如:
Block block1 = new Block();
Block block2 = new Block();
Block block3 = new Block();
List list1 = new ArrayList();
list1.add(block1);
list1.add(block2);
List list2 = new ArrayList();
list2.add(block2);
list2.add(block3);
你的 map 里有什么? 像这样:
"12" ---> {block1, block2}; "23" ---> {block2, block3};
你想用“12”键删除 object block1 吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.