在 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