亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 Hashmap<String, Object> 獲取值?

如何從 Hashmap<String, Object> 獲取值?

至尊寶的傳說 2023-07-13 13:56:23
我需要一個可以包含任何類型值的映射。所以我嘗試使用HashMap。但是,如果我嘗試從映射中獲取值,IDE 會提示類型不匹配。這是我的代碼的一部分:Map<String, Object> state1 = new HashMap<>();state1.put("location", exit1);state1.put("direction", direction);state1.put("number", 0);Deque<Map> q = new ArrayDeque<>();q.add(state1);List<Integer> numbers = new ArrayList<>();while (!q.isEmpty()) {    Map<String, Object> state = q.poll();    Pair location = state.get("location");變量exit1、Direction已經在這部分之前定義,因此您可以忽略它。另外,您不必關心這部分下面的代碼。我的 IDE 說該行Map<String, Object> state = q.poll();具有不兼容的類型 -需要配對,但找到了對象。我怎樣才能使其兼容?我正在解決一個只能運行一個文件的問題,所以我無法實現一個新類。
查看完整描述

2 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

...

Pair location = null;

if(state.get("location") instanceof Pair){

  Pair location = (Pair)state.get("location");

}

else{

...

}


查看完整回答
反對 回復 2023-07-13
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

您可以像這樣指定泛型類型:

Deque<Map<String, Object>> q = new ArrayDeque<>();


查看完整回答
反對 回復 2023-07-13
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號