Java中的stringisNullOrEmpty?

这确实已经被问过,但谷歌没有find它 。 有没有,在任何标准的Java库(包括Apache /谷歌/ …),静态isNullOrEmpty()方法的Strings

  • StringUtils.isEmpty(str)或者StringUtils.isNotEmpty(str)
  • StringUtils.isBlank(str)或者StringUtils.isNotBlank(str)

来自Apache commons-lang 。

emptyblank的区别在于:由空格组成的string只是blank而不是empty

如果可能的话,我通常更喜欢使用apache-commons,而不是编写自己的实用方法,尽pipe对于这些简单的方法也是如此。

如果你正在做android开发,你可以使用:

 TextUtils.isEmpty (CharSequence str) 

在API级别1中添加如果string为null或0长度,则返回true。

来自Google Guava的 com.google.common.base.Strings.isNullOrEmpty(String string)

不,这就是为什么很多其他图书馆都有自己的副本:)

你可以添加一个

 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; } 

要检查一个string是否有任何字符,即。 不为空或空格,检查StringUtils.hasText – 方法(如果你使用Spring当然)

例:

 StringUtils.hasText(null) == false StringUtils.hasText("") == false StringUtils.hasText(" ") == false StringUtils.hasText("12345") == true StringUtils.hasText(" 12345 ") == true 
 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; } 

除了其他答案之外,我碰到了这个问题,因为我主要是C#程序员,但是试图保持Java的新鲜感。 我注意到,当我试图使用StringUtils我的IDE(Eclipse)从com.mysql.jdbc.StringUtils实际上有一个isNullOrEmpty(myStringObject)方法导入它。

恩。

import com.mysql.jdbc.StringUtils;

StringUtils.isNullOrEmpty(host)

对于那些已经在你的项目中引用了MySQL连接器的人来说,只是另一种select,而不是其他的StringUtils库。

对于新的项目,我已经开始让我写的每个类都扩展了相同的基类,在那里我可以放置Java这样令人恼火地缺失的所有实用程序方法,相当于集合(已经厌倦了编写列表!= null &&! list.isEmpty()),空等安全等于等。我仍然使用Apache Commons的实现,但这节省了less量的打字,我没有看到任何负面影响。

我已经看到这个方法在我曾经写过的项目中写过几次,但是我不得不说我自己从来没有写过这个方法,或者把它叫做…通常我发现null和empty是完全不同的条件,而且我有没有理由永远混淆他们。