在Java中,String
類是一個(gè)不可變的類,這意味著一旦一個(gè)String
對(duì)象被創(chuàng)建,它的內(nèi)容就不能被改變。對(duì)于String
類的空值(null)處理,有以下幾種策略:
==
操作符檢查空值:這是最直接的方法,可以使用==
操作符來檢查一個(gè)String
對(duì)象是否為null。例如:String str = getString();
if (str == null) {
System.out.println("str is null");
} else {
System.out.println("str is not null");
}
isEmpty()
方法檢查空字符串:除了檢查null之外,有時(shí)還需要檢查一個(gè)字符串是否為空字符串(即長(zhǎng)度為0的字符串)。String
類提供了isEmpty()
方法來實(shí)現(xiàn)這一點(diǎn)。例如:String str = getString();
if (str == null || str.isEmpty()) {
System.out.println("str is null or empty");
} else {
System.out.println("str is not null and not empty");
}
length()
方法檢查長(zhǎng)度:與isEmpty()
方法類似,也可以使用length()
方法來檢查字符串的長(zhǎng)度。如果長(zhǎng)度為0,則認(rèn)為字符串為空(盡管這取決于具體的實(shí)現(xiàn)和定義,因?yàn)橛行?shí)現(xiàn)可能會(huì)將長(zhǎng)度為0的字符串視為非空)。例如:String str = getString();
if (str == null || str.length() == 0) {
System.out.println("str is null or empty");
} else {
System.out.println("str is not null and not empty");
}
Objects.isNull()
方法(Java 7及以上):從Java 7開始,java.util.Objects
類提供了一個(gè)靜態(tài)方法isNull()
,可以更方便地檢查一個(gè)對(duì)象是否為null。例如:import java.util.Objects;
String str = getString();
if (Objects.isNull(str)) {
System.out.println("str is null");
} else {
System.out.println("str is not null");
}
String str = getStringOrDefault();
if (str.isEmpty()) {
System.out.println("str is empty");
} else {
System.out.println("str is not empty");
}
在這個(gè)例子中,getStringOrDefault()
方法返回一個(gè)空字符串(如果找不到有效的字符串),而不是null。