日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java map key 大写转小写_Spring JdbcTemplate 查询出的Map,是如何产生大小写忽略的Key的?(转)...

發布時間:2025/3/11 javascript 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java map key 大写转小写_Spring JdbcTemplate 查询出的Map,是如何产生大小写忽略的Key的?(转)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java?是區分大小寫的,普通的Map例如HashMap如果其中的key="ABC"?value="XXX"

那么map.get("Abc")?或?map.get("abc")是獲取不到值得。

但Spring中產生了一個忽略大小寫的map使我產生了好奇

例如?jdbcTemplate.queryForList(sql)產生的?List

key="BID"?value="STR1"

其中key都是大寫的

但如果用

System.out.println("map.get(BILLIDS):"?+?map.get("BID")?);

System.out.println("map.get(billids):"?+?map.get("bid")?);

System.out.println("map.get(bIlLIds):"?+?map.get("bId")?);

都可以查出=STR1

請問這是怎么做到的?

Spring用的是自己封裝的Map:org.springframework.util.LinkedCaseInsensitiveMap,基于java.util.LinkedHashMap封裝的。

LinkedCaseInsensitiveMap有一個成員變量Map?caseInsensitiveKeys,小寫后的Key與真實key的映射關系,get的時候先把你傳入的key轉小寫得到真實的KEY,然后得到對應value,所以大小寫不敏感了。

但其實key還保持本色的,所以如果序列化為json或者xml格式,key是大寫,這是需要注意的。

public?Object?put(String?key,?Object?value)

{

caseInsensitiveKeys.put(convertKey(key),?key);

return?super.put(key,?value);

}

public?Object?get(Object?key)

{

if(key?instanceof?String)

return?super.get(caseInsensitiveKeys.get(convertKey((String)key)));

else

return?null;

}

總結

以上是生活随笔為你收集整理的java map key 大写转小写_Spring JdbcTemplate 查询出的Map,是如何产生大小写忽略的Key的?(转)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。