今天在根据出生日期动态显示年龄时,遇到一个问题,首先我将出生日期转换成字符串类型,然后调用写好的方法来计算现在的年龄,结果一直报错,我查看了一下发i现,有条数据的出生日期是空的,但是仍然能进入到控制语句执行循环体。代码如下:
if (StringUtils.isNotEmpty(String.valueOf(p.getBirth()))){ p.setAge(Integer.valueOf(DateUtil.getAge(p.getBirth())));}
跟着代码一步步调试发现,String.valueOf(p.getBirth())的结果是“null",所以再判断不为空时返回的是ture。
String.valueOf()的源码如下: