以前肯定有人问过这个问题,但是 谷歌并没有找到它。在任何标准的 Java 库(包括 apache/google/...)中,Strings是否有一个静态的 isNullOrEmpty()方法?
Strings
isNullOrEmpty()
不,这就是为什么许多其他图书馆都有自己的拷贝:)
StringUtils.isEmpty(str)
StringUtils.isNotEmpty(str)
StringUtils.isBlank(str)
StringUtils.isNotBlank(str)
从阿帕奇 Commons-lang。
empty和 blank之间的区别在于: 仅由空格组成的字符串是 blank,但不是 empty。
empty
blank
如果可能的话,我通常更喜欢使用 apache-commons,而不是编写我自己的实用程序方法,尽管对于像这样的简单方法来说,这也是合理的。
public static boolean isNull(String str) { return str == null ? true : false; } public static boolean isNullOrBlank(String param) { if (isNull(param) || param.trim().length() == 0) { return true; } return false; }
对于新的项目,我已经开始让我编写的每个类都扩展同一个基类,在这个基类中,我可以放入 Java 中缺失的所有实用程序方法,比如这个集合(厌倦了编写列表!)!= 空 & !IsEmpty () ,null-safe 等于,等等。我仍然使用 ApacheCommons 进行实现,但是这样可以节省少量的输入,而且我没有看到任何负面影响。
我曾经在一些项目中看到过这个方法,但是我不得不说我从来没有自己写过它,或者调用过它... ... 通常我发现 null 和 null 是完全不同的条件,我没有理由把它们混为一谈。
你可以加一个
public static boolean isNullOrBlank(String param) { return param == null || param.trim().length() == 0; }
是的
public static boolean isSet(String param) { // doesn't ignore spaces, but does save an object creation. return param != null && param.length() != 0; }
谷歌番石榴呼叫 com.google.common.base.Strings.isNullOrEmpty(String string)
com.google.common.base.Strings.isNullOrEmpty(String string)
除了其他的答案之外,我还遇到了这个问题,因为我主要是一个 C # 程序员,但我试图在 Java 中保持新鲜感。我注意到,当我尝试使用 StringUtils时,我的 IDE (Eclipse)从 com.mysql.jdbc.StringUtils导入了它,而 com.mysql.jdbc.StringUtils实际上有一个 isNullOrEmpty(myStringObject)方法。
StringUtils
com.mysql.jdbc.StringUtils
isNullOrEmpty(myStringObject)
前男友。
import com.mysql.jdbc.StringUtils;
StringUtils.isNullOrEmpty(host)
对于那些已经在项目中引用了 MySQL 连接器,但没有引用其他 StringUtils库的用户来说,这只是另一种选择。
如果你正在做 android 开发,你可以使用:
TextUtils.isEmpty (CharSequence str)
在 API 级别1中添加 如果字符串为空或0长度,则返回 true。
检查字符串是否有字符。不使用 null 或空格,请检查 StringUtils.hasText-method (当然,如果您使用 Spring)
StringUtils.hasText
例如:
StringUtils.hasText(null) == false StringUtils.hasText("") == false StringUtils.hasText(" ") == false StringUtils.hasText("12345") == true StringUtils.hasText(" 12345 ") == true