StringUtils isBlank 以及 isEmpty 的差別

常用的 Apache Commons StringUtils 裡有兩個常常容易搞混的方法 isBlank 以及 isEmpty。

isBlank

isBlank 是判斷這個字串是否為 內容空白字串

1
2
3
4
5
StringUtils.isBlank(null)      = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false

isEmpty

isEmpty 是判斷這個字串是否為 空字串

1
2
3
4
5
StringUtils.isEmpty(null)      = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false

關鍵差異

在空格字串裡的判斷上,兩個有關鍵的不一樣。

1
2
3
StringUtils.isBlank(" ")       = true

StringUtils.isEmpty(" ") = false