在 Java 中檢查物件是否為空
本教程將通過一些簡單的例子來介紹 Java 中檢查物件是否為空的方法。
Java 使用 == 操作符檢查 Object 是否為空
舉個例子,我們建立了兩個類-User1 和 User2。類 User1 有一個例項變數 name 和 Getter 和 Setter 方法來更新和檢索例項變數 name。User2 類有一個方法 getUser1Object,返回類 User1 的例項。
在 main 方法中,我們建立一個名為 user 的 User2 類的物件,並對其呼叫 getUser1Object(),該方法返回 User1 類的例項。現在我們通過使用 if-else 條件中的 == 操作符來檢查該方法返回的 User1 類的例項是否為空。
如果返回的物件不是 null,我們可以通過呼叫類的 setter 方法,並傳遞一個自定義字串作為引數,來設定 User1 類中的 name。
public class JavaCheckNullObject {
public static void main(String[] args) {
User2 user;
user = new User2();
User1 getUserObject = user.getUser1Object();
if (getUserObject == null) {
System.out.println("Object is Null");
} else {
System.out.println("Not Null");
getUserObject.setName("Sam");
System.out.println(getUserObject.getName());
}
}
}
class User2 {
User1 user;
public User1 getUser1Object() {
return user;
}
}
class User1 {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
輸出:
Object is Null
Java 使用 java.utils.Objects 檢查 Object 是否為空
java.utils.Objects 類有用於操作物件的靜態實用方法。其中一個方法是 isNull(),如果提供的引用是空的,則返回一個布林值,否則返回 false。
我們建立了兩個類-User1 和 User2,如下圖程式碼所示。在主方法中,我們使用 new 關鍵字建立了一個 User2 類的物件,並呼叫 getUser1Object() 方法。它返回一個 User1 類的物件,我們隨後將其儲存在 getUser1Object 中。
為了檢查它是否為空,我們呼叫 isNull() 方法,並傳遞物件 getUserObject 作為引數。它返回 true,因為傳遞的物件是空的。
import java.util.Objects;
public class JavaCheckNullObject {
public static void main(String[] args) {
User2 user;
user = new User2();
User1 getUserObject = user.getUser1Object();
if (Objects.isNull(getUserObject)) {
System.out.println("Object is Null");
} else {
System.out.println("Not Null");
getUserObject.setName("Sam");
System.out.println(getUserObject.getName());
}
}
}
class User2 {
User1 user;
public User1 getUser1Object() {
return user;
}
}
class User1 {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
輸出:
Object is Null
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn