Apache Commons Lang套件中的StringUtils.isEmpty()
與StringUtils.isBlank()
差別如下。
因為每次用都忘記所以特別記錄一下。兩著的差別在於isEmpty()
對空白字串返回結果為false,而isBlank()
對空白字串返回結果為true。
System.out.println( StringUtils.isEmpty(null) ); // true
System.out.println( StringUtils.isEmpty("") ); // true
System.out.println( StringUtils.isEmpty(" ") ); // false <--
System.out.println( StringUtils.isBlank(null) ); // true
System.out.println( StringUtils.isBlank("") ); // true
System.out.println( StringUtils.isBlank(" ") ); // true <--
這兩個方法都常用來驗證傳入的字串是否為空,例如身份證號,顧客編號,訂單編號等。如果沒有特別的效能考量話,建議統一用isBlank()
,因為這類參數若是空白字串多不具意義,空白字串多是直接排除不給進一步的新增或查詢。
if (StringUtils.isBlank(custId)) {
return;
}
但效能上isBlank()
比isEmpty()
差,因為isBlank()
還要檢查字串中的每個字中是否為空白。
沒有留言:
張貼留言