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