如何检查字符串不为空?

时间:2011-03-31 12:26:04

标签: java

if(string.equals(""))
{

}

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

if(!string.equals(""))
{

}

12 个答案:

答案 0 :(得分:37)

通过if (string != null)

检查是否为空

如果要检查其是空还是空 - 您需要if (string != null && !string.isEmpty())

我更喜欢使用commons-lang StringUtils.isNotEmpty(..)

答案 1 :(得分:4)

您可以使用以下代码执行此操作:

 if (string != null) {

 }

答案 2 :(得分:2)

检查null是通过以下方式完成的:

string != null

您的示例实际上是检查空字符串

你可以将两者结合起来:

if (string != null && !string.equals("")) { ...

但是null和empty是两个不同的东西

答案 3 :(得分:2)

没有什么新东西可以添加到上面的答案中,只需将其包装成一个简单的类。 Commons-lang 是完全可以的,但如果你需要的只是这些或者更多的辅助函数,那么滚动你自己的简单类是最简单的方法,同时保持可执行文件的大小。

public class StringUtils {

  public static boolean isEmpty(String s) {
    return (s == null || s.isEmpty());
  }

  public static boolean isNotEmpty(String s) {
    return !isEmpty(s);
  }
}

答案 4 :(得分:1)

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

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

请注意,它仅在Java SE 1.6之后可用。

你必须检查str.length() == 0 or str.equals("") 以前的版本。

答案 5 :(得分:1)

使用TextUtils方法。

TextUtils.isEmpty(str):如果字符串为null或0-length,则返回true。参数:str要检查的字符串返回:如果str为null或零长度,则返回true

if(TextUtils.isEmpty(str)){
    // str is null or lenght is 0
}

Source TextUtils类

isEmpty Method:

 public static boolean isEmpty(CharSequence str) {
        if (str == null || str.length() == 0)
            return true;
        else
            return false;
    }

答案 6 :(得分:0)

正如大家所说,你必须在你正在测试内存指针的对象中检查(string!= null)。

因为每个对象都由一个内存指针标识,你必须在测试其他任何内容之前检查你的对象是否有空指针,所以:

(string!= null&&!string.equals(“”))很好

(!string.equals(“”)&& string!= null)可以给你一个nullpointerexception。

如果你不关心尾随空格你总是可以在equals()之前使用trim() 所以“”和“”会给你相同的结果

答案 7 :(得分:0)

检查字符串的最佳方法是:

import org.apache.commons.lang3.StringUtils;

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

来自doc

  

isBlank(CharSequence cs):

     

检查CharSequence是否为空(""),null   或仅限空白。

答案 8 :(得分:0)

您可以使用谓词及其新方法(自Java 11开始)Predicate::not

您可以编写代码以检查字符串是否不为null也不为空:

Predicate<String> notNull = Predicate.not(Objects::isNull);
Predicate<String> notEmptyString = Predicate.not(String::isEmpty);
Predicate<String> isNotEmpty = notNull.and(notEmptyString);

然后您可以对其进行测试:

System.out.println(isNotEmpty.test(""));      // false
System.out.println(isNotEmpty.test(null));    // false
System.out.println(isNotEmpty.test("null"));  // true

答案 9 :(得分:0)

在Java中测试空字符串的常用方法是使用Optionals

Optional.ofNullable(myString).orElse("value was null")
Optional.ofNullable(myString).ifPresent(s -> System.out.println(s));
Optional.ofNullable(myString).orElseThrow(() -> new RuntimeException("value was null"));

要测试它是否为null或为空,可以使用Apache org.apache.commons.lang3库,该库为您提供以下方法:

  • StringUtils.isEmpty(String) / StringUtils.isNotEmpty(String):它测试String是否为null或为空(“”不为空)
  • StringUtils.isBlank(String) / StringUtils.isNotBlank(String):如果String仅是空格,则被视为空白,与isEmpty bt相同

并应用于Optional,您将得到:

Optional.ofNullable(myString).filter(StringUtils::isNotEmpty).orElse("value was null or empty");

答案 10 :(得分:-2)

if(string != null)

if(string.length() == 0)

if(("").equals(string))

答案 11 :(得分:-4)

你可以尝试这个

if(string != null)