在一般Map中对key的containsKey函数方法可以实现对值的判断,防止出现空指针问题,也可以使用jdk8封装的option类来实现:
如:
for (Map<String, Object> map : phMap) {
// 获取每个Map中的规格数据,并进行累加
os += (Integer) Optional.ofNullable(map.get("os")).orElse(0);
om += (Integer) Optional.ofNullable(map.get("om")).orElse(0);
ol += (Integer) Optional.ofNullable(map.get("ol")).orElse(0);
xl += (Integer) Optional.ofNullable(map.get("xl")).orElse(0);
xxl += (Integer) Optional.ofNullable(map.get("xxl")).orElse(0);
xxxl += (Integer) Optional.ofNullable(map.get("xxxl")).orElse(0);
// 计算总数
total += (Integer) Optional.ofNullable(map.get("total")).orElse(0);
}
Optional是泛用类,可以对多种对象实现非空验证,但是不太适用于字符串,在字符串为空字符串""类型时校验为通过,字符串最好还是使用StringUtils封装方法。