【Java】NULL比較について(三項演算子やisNULLメソッド)

Java

はじめに

今回はjavaの「NULL」の比較にについていろんな方法を試してみたいと思います。

 

NULLとは

NULLとは、変数に対して何も入っていない状態のことです。空やスペースとも違い本当に何も入っていない状態のことを指します。

 

演算子によるNULL比較

「==」や「!=」によってNULL比較することができます。

package com.example;

import java.util.ArrayList;
import java.util.List;


public class App {
    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String str = null;

        if (str == null) {
            System.out.print("nullです。");
        }

        List<Integer> list = null;
        list = new ArrayList<>();
        if (list != null) {
            System.out.print("nullではありません。");
        }
    }
}

 

三項演算子による比較

三項演算子によってもNULL比較をすることができます。

 

構文

条件式 ? trueの場合 : falseの場合

 

package com.example;

public class App {
    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String str = null;

        String message = (str == null) ? "nullです" : "nullじゃないです";
        System.out.println(message);

    }
}

 

Objects.isNullメソッドによる比較

java.util.ObjectsクラスのisNullメソッドを使用することでもnull比較を実施することができます。

 

構文

// インポート
import java.util.Objects;

Objects.isNull(判定する変数);

 

package com.example;

import java.util.Objects;

public class App {
    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String str = null;

        if (Objects.isNull(str)) {
            System.out.println("nullです");
        } 
    }
}

 

Optionalクラスによる比較

java.util.OptionalクラスのorElseメソッドを使用することで、nullだった際の動作を指定することができます。

 

定義

// インポート
import java.util.Optional;

// 宣言 
Optional<String> check = Optional.ofNullable(判定対象の変数);

// nullかチェックしnullだった場合は()内の値を格納
String result = check.orElse(Nullだった場合の処理);

 

package com.example;

import java.util.Optional;

public class App {
    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String str = null;
        Optional<String> check = Optional.ofNullable(str);

        String result = check.orElse("Nullの時の値");
        System.out.println(result);
    }
}

 

ドキュメント

【公式ドキュメント】
Java SE Specifications (oracle.com)

 

最後に

Javaの環境構築は、この記事を参照してみてください。
【開発環境構築】VS CodeでJavaを使用するための環境構築を実施する – SEもりのLog (selifemorizo.com)

以上、ログになります。
これからも継続していきましょう!!

Javaサーバーサイド関連
おすすめIT本
良いコード/悪いコードで学ぶ設計入門

「ITエンジニア本大賞2023」技術書部門で大賞を受賞した本です。
・コードの可読性
・普段意識したほうが良いこと
・リファクタリング考え方
等、普段のコードを設計する際に意識することが書かれています。
コードのあるべき姿に迷ったら一度読んでみると良い本です。

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん

Dockerって何?となったときに私が最初に読んだ本です。
Dockerがどんな仕組みで動いているのか、コマンドでは何を命令しているのかを理解できるように、イラストを多用して説明しています。

1冊ですべて身につくJavaScript入門講座

「ITエンジニア本大賞2024」技術書部門で大賞を受賞した本です。
私が次に読もうと思っている本なのでおすすめとして挙げておきたいと思います。

コメント

タイトルとURLをコピーしました