Java 字符串为空或者 null 的判断

在Java开发中,我们经常会遇到处理字符串的情况。而在处理字符串时,我们经常需要判断一个字符串是否为空或者为null。本文将介绍如何判断一个字符串是否为空或者为null,并提供相应的代码示例。

什么是空字符串和null

在开始之前,我们先来了解一下什么是空字符串和null。

  • 空字符串:空字符串是指没有任何可见字符的字符串,长度为0。
  • null:null是一个特殊的值,表示一个对象不引用任何实例,也可以说是空引用。

判断字符串是否为空或者null

在Java中,我们可以使用几种方法来判断一个字符串是否为空或者为null。下面是几种常见的方法:

方法一:使用equals()方法

我们可以使用String类的equals()方法来判断一个字符串是否为空。该方法会判断字符串是否为空字符串并且不为null。示例代码如下:

String str = "Hello World";
if (str.equals("")) {
    System.out.println("字符串为空");
} else {
    System.out.println("字符串不为空");
}

方法二:使用isEmpty()方法

Java 6及以上版本提供了String类的isEmpty()方法,该方法用于判断字符串是否为空。示例代码如下:

String str = "";
if (str.isEmpty()) {
    System.out.println("字符串为空");
} else {
    System.out.println("字符串不为空");
}

方法三:使用length()方法

我们也可以使用String类的length()方法来判断字符串的长度是否为0。示例代码如下:

String str = "";
if (str.length() == 0) {
    System.out.println("字符串为空");
} else {
    System.out.println("字符串不为空");
}

方法四:使用StringUtils工具类(需导入Apache Commons Lang库)

如果你使用Apache Commons Lang库,可以使用StringUtils工具类中的isEmpty()方法来判断字符串是否为空。示例代码如下:

import org.apache.commons.lang3.StringUtils;

String str = "";
if (StringUtils.isEmpty(str)) {
    System.out.println("字符串为空");
} else {
    System.out.println("字符串不为空");
}

方法五:使用Objects工具类(需导入Java 7及以上版本)

自Java 7开始,Java提供了Objects工具类,其中的isNull()方法可以判断一个对象是否为null。示例代码如下:

import java.util.Objects;

String str = null;
if (Objects.isNull(str)) {
    System.out.println("字符串为空或者为null");
} else {
    System.out.println("字符串不为空");
}

代码示例

下面是一个综合运用以上方法的示例代码,用于判断一个字符串是否为空或者为null:

import org.apache.commons.lang3.StringUtils;
import java.util.Objects;

public class StringExample {
    public static void main(String[] args) {
        String str1 = "Hello World";
        String str2 = "";
        String str3 = null;

        System.out.println("方法一:使用equals()方法");
        if (str1.equals("")) {
            System.out.println("str1为空");
        } else {
            System.out.println("str1不为空");
        }

        if (str2.equals("")) {
            System.out.println("str2为空");
        } else {
            System.out.println("str2不为空");
        }

        if (str3.equals("")) {
            System.out.println("str3为空");
        } else {
            System.out.println("str3不为空");
        }

        System.out.println("方法二:使用isEmpty()方法");
        if (str1.isEmpty()) {
            System.out.println("str1为空");
        } else {
            System.out.println("str1不为空");
        }

        if (str2.isEmpty()) {
            System.out.println("str2为空");
        } else {
            System.out.println("str2不为空");
        }

        if (str3.isEmpty()) {
            System.out.println("str3为空");
        } else {
            System.out.println("str3不为空");
        }

        System.out.println("方法三:使用length()方法");
        if (str1.length() == 0) {
            System.out.println("str1为空");
        } else {
            System.out.println("str1不为空");
        }

        if (str2.length() == 0) {
            System.out.println("str2为空");
        } else {
            System.out.println("str2不为空");
        }

        if (str3.length() == 0) {
            System.out.println("str3为空");
        } else {
            System.out.println("str3不为空");
        }

        System.out.println("方法四:使用StringUtils工具类");
        if