首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Apache的StringUtils.isBlank(str)与Guava的Strings.isNullOrEmpty(str):您是否应该定期检查空格?

Apache的StringUtils.isBlank(str)与Guava的Strings.isNullOrEmpty(str):您是否应该定期检查空格?
EN

Stack Overflow用户
提问于 2011-09-08 00:10:04
回答 5查看 23.6K关注 0票数 22

使用这个工具有什么好处吗?

代码语言:javascript
复制
StringUtils.isBlank(str) 

来自Apache commons-lang。

vs

代码语言:javascript
复制
Strings.isNullOrEmpty(String string)

从Google Guava?

我想在Java项目中替换成百上千个这样的用法:

代码语言:javascript
复制
if(str == null || str.isEmpty())

在我的项目中,Guava的isNullOrEmpty似乎直接替代了上面的用法。

但根据我对S.O.问题的阅读,似乎更多的人使用阿帕奇的isBlank方法。

唯一的区别似乎是StringUtils.isBlank(str) 除了检查字符串是空还是空之外,还会检查空格

通常情况下,检查字符串中是否有空格是个好主意,或者这样做会不会在代码中产生与更简单的检查不同的结果?

EN

回答 5

Stack Overflow用户

发布于 2016-04-08 03:10:24

如果您想使用Guava复制isBlank行为,我将使用以下方法:

Strings.nullToEmpty(str).trim().isEmpty()

票数 17
EN

Stack Overflow用户

发布于 2011-09-08 00:19:04

当你不得不接受人类的输入时,如果在特定的应用程序中有意义,你应该宽宏大量,去掉他们输入的任何文本的前导和尾随空格。

也就是说,使用isBlank只是半途而废。在进一步处理字符串之前,还需要对字符串执行trim操作。因此,我建议在检查isNullOrEmpty之前使用s = trim(s);

票数 8
EN

Stack Overflow用户

发布于 2017-07-04 18:20:22

StringUtils.isBlank(str)Strings.isNullOrEmpty(String string)有很大的不同

第一个代码示例将只检查字符串是否为空,它还将包含空格并返回true

代码语言:javascript
复制
StringUtils.isBlank(null)      = true 
StringUtils.isBlank("")         = true 
StringUtils.isBlank(" ")        = true 
StringUtils.isBlank("bob")      = false
StringUtils.isBlank("  bob  ")  = false

如果给定字符串为null或为空字符串,则

where as Strings.isNullOrEmpty(String string)返回true

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7337070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档