Java Map——getOrDefault处理空字符串转化问题

背景

  • 在一次项目开发中,使用Map接收参数;
  • 在参数中,需要将参数值转化成int格式;

代码如下

int hashbord = Integer.valueOf(minerMap.getOrDefault("hashbord", "0").toString());

错误如下

  • 当参数值为空字符串时,Map.getOrDefault不能实现自动赋值为默认值,因为空字符串是正常地Map值,转化错误

解决办法

  • 先判断Map值是否为空,然后再进行转化
int hashbord = Integer.valueOf(ObjectUtil.isNotEmpty(minerMap.get("hashbord")) ? minerMap.get("hashbord").toString() : "0");
原文地址:https://www.cnblogs.com/zuiyue_jing/p/15151836.html