下面所示的項目是我已經使用這個代碼從地圖得到的值在用java索引
String amountCheck=(String) productsFieldMap.get("PRODUCT_TYPE.PRODUCT_AMT");
從調試地圖
{0={PRODUCT_TYPE.PRODUCT_AMT=200}}
要存儲在一個字符串這個值所獲得的結果
但是,這似乎並不奏效。任何人都可以建議我採取這種方式嗎? productsFieldMap表示存儲值的映射。
下面所示的項目是我已經使用這個代碼從地圖得到的值在用java索引
String amountCheck=(String) productsFieldMap.get("PRODUCT_TYPE.PRODUCT_AMT");
從調試地圖
{0={PRODUCT_TYPE.PRODUCT_AMT=200}}
要存儲在一個字符串這個值所獲得的結果
但是,這似乎並不奏效。任何人都可以建議我採取這種方式嗎? productsFieldMap表示存儲值的映射。
我相信,你正在尋找獲得根據value
一個key
。
你不能根據一個值
key
,爲get()
接受key
,而不是一個值。
如果你想這樣做,你需要迭代HashMap
並獲得匹配的值並返回它的關鍵。
public static <T, E> T getKeyByValue(Map<T, E> map, E value) {
for (Entry<T, E> entry : map.entrySet()) {
if (Objects.equals(value, entry.getValue())) {
return entry.getKey();
}
}
return null;
}
獲取特定索引可消除該問題。這是讓我感到困惑的一點 –
我錯過了這裏的東西,並與此我能夠得到所需的輸出。
Map result = (Map) productsFieldMap.get(0);
String amountCheck = (String) result.get("PRODUCT_TYPE.PRODUCT_AMT");
如果這是您的答案,請將其標記爲已接受。 – Alex
我需要等兩天才能做到這一點。 –
試試這個找出地圖究竟包含:
for (Object key : productsFieldMap.keySet()) {
System.out.println(key.toString() + ", " + productsFieldMap.get(key));
}
「似乎沒有工作」是什麼意思?請詳細說明。 –
我期待在該字符串中獲得值200。 –
請給我們提供'productsFieldMap'的定義。 – CptBartender