MapUtils學(xué)習(xí)筆記

一、MapUtils學(xué)習(xí)筆記

官方文檔傳送門:MapUtils

本篇筆記的基礎(chǔ)示例數(shù)據(jù)代碼如下:

HashMap<String, Object> map = new HashMap<>();
map.put("name","zhangsan");
map.put("sex",true);
map.put("age",34);
map.put("money",null);

1.1.MapUtils常用方法

獲取Map中指定key的value

使用getString(final Map map, final Object key)方法,當(dāng)然,也可使用getString( Map map, Object key, String defaultValue )方法,當(dāng)我們get屬性值時(shí)候發(fā)生了轉(zhuǎn)換異常的就會(huì)報(bào)錯(cuò),為了避免這種報(bào)錯(cuò),可以使用默認(rèn)值的方法解決。

String name = MapUtils.getString(map, "name");

當(dāng)我們獲取Integer類型的時(shí)候,當(dāng)類型不能轉(zhuǎn)換時(shí)候報(bào)java.lang.NullPointerException如下:

int money = MapUtils.getInteger(map,"money");

就可以使用getInteger( Map map, Object key, Integer defaultValue )方法解決。

int money = MapUtils.getInteger(map,"money",23);

MapUtils中其他的get屬性值的方法還有如下這些,使用方法和MapUtils.getString一樣,這里就不再一一舉例說明,

  • Object getObject(final Map map, final Object key):獲取Object類型的值。
  • String getString(final Map map, final Object key):獲取String類型的值。
  • Boolean getBoolean(final Map map, final Object key):獲取Boolean類型的值。
  • Number getNumber(final Map map, final Object key):獲取Number類型的值。
  • Byte getByte(final Map map, final Object key):獲取Byte類型的值。
  • Short getShort(final Map map, final Object key):獲取Short類型的值。
  • Integer getInteger(final Map map, final Object key):獲取Integer類型的值。
  • Long getLong(final Map map, final Object key):獲取Long類型的值。
  • Float getFloat(final Map map, final Object key):獲取Float類型的值。
  • Double getDouble(final Map map, final Object key):獲取Double類型的值。
  • Map getMap(final Map map, final Object key):獲取Map類型的值。

說明:每一個(gè)獲取值的方法都有一個(gè)帶有獲取失敗使用默認(rèn)值的方法。

Map判空

使用MapUtils.isEmpty方法和MapUtils.isNotEmpty方法對(duì)Map進(jìn)行空判斷。

boolean empty = MapUtils.isEmpty(map);
boolean notEmpty = MapUtils.isNotEmpty(map);

將二維數(shù)組放入Map中

使用MapUtils.putAll方法。

String[][] user = {{"names","zhangfsan"},{"sexs","1f"}};
Map map1 = MapUtils.putAll(map, user);

MapUtils類的常用方法基本就是這些,后面設(shè)計(jì)的MultiMap、LazyMap、BidiMap會(huì)在后面的博客中仔細(xì)說明,我們?cè)谄綍r(shí)的開發(fā)中應(yīng)該多使用開源的工具類,簡潔高效我們的代碼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容