Java 之empty、null、blank介绍
在Java中,empty、null和blank都不是关键字(keyword)。
empty是命名规范,用于表示集合、数组、字符串等是否为空。
null,字面量,用于表示变量未引用任何对象。
blank是命名规范,用于判断字符串是否为空或仅包含空格字符。
【Empty(空):表示对象或容器中没有任何元素或内容。例如,一个空字符串表示一个没有字符的字符串,一个空集合表示一个没有元素的集合。这是一种状态或属性,用于描述对象的内容为空。
null(空值,空引用):表示一个变量没有引用任何对象。它是一个特殊的值,可以赋给引用类型的变量。当一个变量被赋值为null时,它不再指向任何有效的内存地址。这意味着它不引用任何对象,因此无法访问其成员或调用其方法。
Blank(空白,空白字符)表示一个字符串的内容是空白字符。空白字符(Blank)包括空格字符、制表符(Tab)和换行符(Newline),以及其他不可见的空白字符。这些字符被视为“空白”,因为它们在屏幕上不会显示出来,但在字符串中占据一个位置。】
empty
empty表示一个字符串或集合为空的情况。
☆对于字符串来说,可以通过判断字符串的长度是否为0来确定是否为空。示例代码如下:
public class Example {
public static void main(String[] args) {
// Empty(空)
String str = "";
if (str.isEmpty()) {
System.out.println("字符串为空");
}
}
}
☆对于集合而言,可以通过判断集合的大小是否为0来确定是否为空。示例代码如下:
import java.util.ArrayList;
import java.util.List;
public class Example {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
if (list.isEmpty()) {
System.out.println("集合为空");
}
}
}
null
null表示一个引用变量没有指向任何对象的情况。在使用时要格外谨慎,因为如果对一个null引用进行操作,会抛出NullPointerException异常。示例代码如下:
public class Example {
public static void main(String[] args) {
// 引用类型赋值为null
String obj = null;
// 对象引用判空
if (obj == null) {
System.out.println("对象引用为空");
}
}
}
在上述示例中,我们使用==运算符来比较obj引用是否为null。
blank
blank表示一个字符串的内容是空白字符。判断字符串是否为空白字符可以使用StringUtils类中的工具方法isBlank。示例代码如下:
public class Example {
public static void main(String[] args) {
// Blank(空白)
String str2 = " ";
if (str2.isBlank()) {
System.out.println("字符串为空白");
}
}
}
小结:
在Java中,empty表示一个字符串的长度为0,也就是没有任何字符;而对于Java集合,empty表示集合不包含任何元素。
当说一个对象为null时,意味着该对象引用指向的内存地址没有实际对象存在,即没有被初始化或者已经被显式地赋值为null。
blank表示一个字符串的长度大于0,但是只包含不可见的空白字符,没有其他有效字符。在Java 11及以上版本中,String类新增了isBlank()方法来判断一个字符串是否为空白,即长度大于0但只包含空格。