学习目标:
HashMap特殊键值对和字符串拼接操作
HashMap特殊键值对
HashMap运行(null, null)键值对存在
HashMap map = new HashMap<>();
map.put(null, null);
字符串拼接操作
String字符串拼接操作,常用的有StringBulider工具类、concat()函数、以及用 + 拼接等方式。
concat()与 + 方式简单运用的区别记录:
str.concat(null) 会报错空指针,+ 方式不会
今日踩坑
业务逻辑中使用hashMap,key是由多个字段拼接的情况,用 + 拼接的方式,如果用concat()则可能会报空指针,还需用三元运算符特殊处理。
//变量拼接变量,如果prodCd或者status为null,就会抛NullPointerException
map.get(item.prodCd.concat(item.status));
//常量拼接变量,对变量用三元运算赋值
map.get("dlStatus|".concat(item.status == null ? "" : item.status));
都不如以下方式
map.get(item.prodCd + "|" + item.status);