Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查字符串是否为空?_Java - Fatal编程技术网

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

Java 如何检查字符串是否为空?,java,Java,如何检查字符串是否为空 if(string.equals("")) { } 您可以使用以下代码执行此操作: if(!string.equals("")) { } 通过if(string!=null) 如果要检查其是否为null或空,则需要If(string!=null&&!string.isEmpty()) 我更喜欢使用StringUtils.isNotEmpty(..) 或 或 你可以试试这个 if(("").equals(string)) 通过以下方式检查空值: if(string

如何检查字符串是否为空

if(string.equals(""))
{

}

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

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

}

通过
if(string!=null)

如果要检查其是否为null或空,则需要
If(string!=null&&!string.isEmpty())

我更喜欢使用
StringUtils.isNotEmpty(..)

你可以试试这个

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

通过以下方式检查空值:

if(string != null)
您的示例实际上是检查空字符串

您可以将这两者结合起来,如下所示:

string != null

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

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

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

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

(!string.equals(“”&&string!=null)可以为您提供nullpointerexception

如果你不喜欢尾随空格,你可以在equals()之前使用trim()
所以“”和“”给出了相同的结果

没有什么新的东西可以添加到上面的答案中,只是将其包装到一个简单的类中。Commons lang很好,但是如果您只需要这些或更多的帮助函数,那么滚动您自己的简单类是最简单的方法,同时也可以降低可执行文件的大小

if (string != null && !string.equals("")) { ...
请确保按此顺序使用&&的部分,因为如果&&的第一部分失败,java将不会继续计算第二部分,从而确保如果str为null,则不会从str.isEmpty()获得null指针异常

注意,它只在JavaSE1.6之后才可用

您必须检查
str.length()==0或str.equals(“”)
在以前的版本中。

使用TextUtils方法

:如果字符串为null或长度为0,则返回true。Parameters:str如果str为null或长度为零,则要检查的字符串返回:true

if(str != null && !str.isEmpty())
TextUtils类的定义

isEmpty方法:

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

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

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

isBlank(字符序列cs):

检查CharSequence是否为空(“”,null 或者只使用空格


您可以使用谓词及其新方法(自Java11以来)

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

Predicate notNull=Predicate.not(Objects::isNull);
谓词notEmptyString=Predicate.not(字符串::isEmpty);
谓词isNotEmpty=notNull.and(notemptysting);
然后您可以测试它:

System.out.println(isNotEmpty.test(“”);//假的
System.out.println(isNotEmpty.test(null));//假的
System.out.println(isNotEmpty.test(“null”);//真的

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

Optional.ofNullable(myString.orElse)(“值为null”)
Optional.ofNullable(myString).ifPresent(s->System.out.println(s));
Optional.ofNullable(myString).orelsetrow(()->newruntimeexception(“值为null”);
要测试它是否为null或空,可以使用Apache
org.Apache.commons.lang3
库,该库提供以下方法:

  • StringUtils.isEmpty(String)/StringUtils.isNotEmpty(String)
    :它测试字符串是否为null或空(“”不为空)
  • StringUtils.isBlank(String)/StringUtils.isNotBlank(String)
    :与isEmpty bt相同,如果字符串仅为空白,则视为空白
并应用于
可选
您可以得到:

Optional.ofNullable(myString).filter(StringUtils::isNotEmpty).orElse(“值为null或空”);

不重要,但string.length()==0可能比say等于“”要好,不太好。只有第一个是真的。StringUtils也是+1。我们每个人都应该每天花几分钟阅读ApacheCommons能为我们做些什么!这里可以找到多个spacesU:您应该指定它的库全名、Commons,并更具体地说明方法行为。嗯,你应该把答案提高一点。Regards@FabianoTarlao当然,伙计,你已经更新了答案!不要这样做。它非常复杂,与公认的答案相比没有任何好处。如果(myString!=null){…}
您发现它很复杂,那么它是一个单行程序,与
java相同,这是一件很复杂的事情,但我想您也会发现java lambda很复杂,难以阅读?
public class StringUtils {

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

  public static boolean isNotEmpty(String s) {
    return !isEmpty(s);
  }
}
if(str != null && !str.isEmpty())
if(TextUtils.isEmpty(str)){
    // str is null or lenght is 0
}
 public static boolean isEmpty(CharSequence str) {
        if (str == null || str.length() == 0)
            return true;
        else
            return false;
    }
import org.apache.commons.lang3.StringUtils;

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