检查字符串是否不为空且不为空Use org.apache.commons.lang.StringUtils

2022-08-31 04:20:31

如何检查字符串是否不为空且不为空?

public void doStuff(String str)
{
    if (str != null && str != "**here I want to check the 'str' is empty or not**")
    {
        /* handle empty string */
    }
    /* ... */
}

答案 1

那么 isEmpty() 呢?

if(str != null && !str.isEmpty())

请务必按此顺序使用 的部分,因为如果 的第一部分失败,java 将不会继续评估第二部分,从而确保您不会从 if 获得空指针异常。&&&&str.isEmpty()str

请注意,它仅在Java SE 1.6之后可用。您必须检查以前的版本。str.length() == 0


要同时忽略空格::

if(str != null && !str.trim().isEmpty())

(因为Java 11可以简化为也可以测试其他Unicode空格)str.trim().isEmpty()str.isBlank()

包装在一个方便的函数中:

public static boolean empty( final String s ) {
  // Null-safe, short-circuit evaluation.
  return s == null || s.trim().isEmpty();
}

成为:

if( !empty( str ) )

答案 2

Use org.apache.commons.lang.StringUtils

我喜欢使用Apache commons-lang来做这些事情,尤其是StringUtils实用程序类:

import org.apache.commons.lang.StringUtils;

if (StringUtils.isNotBlank(str)) {
    ...
} 

if (StringUtils.isBlank(str)) {
    ...
}