在 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