[英]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.