poi小姿勢:如何判斷excel單元格是否為空?
在做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也是類似,找到相應的源碼發現同樣提供了常量來讓我們更加方便的進行判斷.
這個問題帶來的相應的思考就是:如果在Java中需要判斷某個對象為空時,需要多方面來進行判斷,並不只是簡單判斷==null,相應的,工具或許會給我們提供相應的工具類或者固定的方法,靜態常量等,這都是一種利器。