Java でオブジェクトが Null かどうかをチェックする

Rupam Yadav 2023年10月12日
  1. Java で == 演算子を使用して Object が Null であるかどうかを確認する
  2. Java で java.utils.Objects を使用して Object が Null かどうかを確認する
Java でオブジェクトが Null かどうかをチェックする

このチュートリアルでは、Java でオブジェクトが NULL であるかどうかをチェックする方法を、簡単な例を挙げて説明します。

Java で == 演算子を使用して Object が Null であるかどうかを確認する

例として、User1User2 の 2つのクラスを作成しました。クラス User1 は 1つのインスタンス変数 name と、インスタンス変数 name を更新したり取得したりするための GetterSetter メソッドを持ちます。User2 クラスには、クラス User1 のインスタンスを返す getUser1Object というメソッドが一つあります。

main メソッドでは、User2 クラスの user という名前のオブジェクトを作成して getUser1Object() を呼び出し、クラス User1 のインスタンスを返します。ここで、if-else 条件で == 演算子を用いて、メソッドが返した User1 クラスのインスタンスがヌルかどうかを調べます。

返されたオブジェクトが null でなければ、User1 クラスの 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 が Null かどうかを確認する

java.utils.Objects クラスには、オブジェクトを操作するための静的なユーティリティメソッドがあります。メソッドの一つは isNull() で、指定された参照が null であればブール値を返し、そうでなければ false を返します。

以下のコードに示すように、User1User2 の 2つのクラスを作成しました。メインメソッドでは、new キーワードを用いて User2 クラスのオブジェクトを作成し、getUser1Object() メソッドを呼び出しています。これはクラス User1 のオブジェクトを返し、後に getUser1Object に格納します。

null であるかどうかを調べるには、isNull() メソッドを呼び出してオブジェクト getUserObject をパラメータとして渡します。渡されたオブジェクトが NULL であることを確認するために、isNull() メソッドを呼び出します。

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 Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

関連記事 - Java Object