Rf: http://luokangyuan.com/maputilsxue-xi-bi-ji/
本篇筆記的基礎示例數據代碼如下:
HashMap<String, Object> map = new HashMap<>();
map.put("name","zhangsan");
map.put("sex",true);
map.put("age",34);
map.put("money",null);
MapUtils常用方法:
獲取Map中指定key的value
使用getString(final Map map, final Object key)
方法,當然,也可使用getString( Map map, Object key, String defaultValue )
方法,當我們get
屬性值時候發生了轉換異常的就會報錯,爲了避免這種報錯,可以使用默認值的方法解決。
String name = MapUtils.getString(map, "name");
當我們獲取Integer
類型的時候,當類型不能轉換時候報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類型的值。
說明:每一個獲取值的方法都有一個帶有獲取失敗使用默認值的方法。
Map判空
使用
MapUtils.isEmpty
方法和MapUtils.isNotEmpty
方法對Map進行空判斷。boolean empty = MapUtils.isEmpty(map); boolean notEmpty = MapUtils.isNotEmpty(map);
將二維數組放入Map中
使用MapUtils.putAll
方法。
String[][] user = {{"names","zhangfsan"},{"sexs","1f"}};
Map map1 = MapUtils.putAll(map, user);
MapUtils類的常用方法基本就是這些,後面設計的MultiMap
、LazyMap
、BidiMap
會在後面的博客中仔細說明,我們在平時的開發中應該多使用開源的工具類,簡潔高效我們的代碼。