一、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)該多使用開源的工具類,簡潔高效我們的代碼。