在做excel相关业务的时候,遇到了单元格为空却读取不到的情况,本来就是用的简单的==null来判断的,结果debug发现进不去,相应的Cell类的值是一个"",这样就很尴尬,查资料发现,可以通过Cell类的CellType来进行判断,具体代码如下:
if(firstCell == null || firstCell.getCellType() == Cell.CELL_TYPE_BLANK){
System.out.println("测试成功");
}
剖析源码发现:
类比思考:
这样也类似于集合类判断为空,使用null || .size()0
这样的方式是一样的
小总结:
Java中除了有臭名昭著的空指针异常外,还有一个空架子里面值什么也没有的情况,这时候就需要我们多写代码来使得程序更加完善,有的时候框架也会提供相应的工具类,如spring框架的StringUtil类等,poi也是类似,找到相应的源码发现同样提供了常量来让我们更加方便的进行判断。