根据idea的提示看下:
Deprecated as of 5.3, in favor of hasLength(String) and
hasText(String) (or ObjectUtils.isEmpty(Object))
废弃的原因是有人提交了issue后被官方接纳了。
issue地址 Deprecate StringUtils.isEmpty(Object)
and replace remaining usage (e.g. with ObjectUtils.isEmpty
) · Issue #25945 · spring-projects/spring-framework
commit地址 Deprecate StringUtils.isEmpty(Object) and replace remaining usage · spring-projects/spring-framework@621295d
issue上认为StringUtils.isEmpty()
可能会导致一个隐藏bug。
他觉得如果使用了静态导入机制(static import),代码中直接使用isEmpty()
方法的话,不注意的话,可能会拿去判断列表是否为空。所以不如取名为isEmptyString()
,但是ObjectUtils.isEmpty()
已经要引入了(2015年),因此不如直接废弃掉。
废弃后,我们可以使用StringUtils中的hasLength(String)或者hasText(String) 方法来替换。
或者 ObjectUtils.isEmpty(Object) 方法也可以。
个人更推荐前两个方法,因为看起来更清晰,目的很明确,就是判断字符串是否为空。