【Java】Nullと空文字の判定方法一覧

Java

何を使うべきかの結論

外部ライブラリを使用しない場合は比較演算子を使わず、公式が用意しているものを使用する

Nullの判定方法

比較演算子を使用した方法

String item = null;

// itemの値がnullの場合true
if (item == null) {
...こちらの処理が実行
} else {
...実行されない処理
}

// itemの値がnullの場合false
if (item != null) {
...実行されない処理
} else {
...こちらの処理が実行
}

Objectsクラスを使用した方法※公式ドキュメント

import java.util.Objects;

String item = null;
if (Objects.isNull(item)) {
...こちらの処理が実行
} else {
...実行されない処理
}

// itemの値がnullの場合false
if (Objects.nonNull(item)) {
...実行されない処理
} else {
...こちらの処理が実行
}

空文字の判定方法

比較演算子を使用した方法

String item = "";

// itemの値が""もしくは全角・半角スペースの場合true
if (item == "" || item == " " || item == " ") {
...こちらの処理が実行
} else {
...実行されない処理
}

// itemの値が""もしくは全角・半角スペースの場合false
if (item != "" || item != " " || item != " ") {
...実行されない処理
} else {
...こちらの処理が実行
}

isEmpty()やisBlank()を使用した方法

// isEmpty()はjava8以降使用可能
// isBlank()はjava11以降使用可能
String item = "";

// ""の場合のみtrue
if (item.isEmpty()) {
...こちらの処理が実行
} else {
...実行されない処理
}

String item_Blank = " ";
String item_Blank2 = " ";

// ""もしくは全角・半角スペースの場合true
if (item.isBlank() || 
    item_Blank.item_Blank() ||
    item_Blank2.item_Blank2()) {
...こちらの処理が実行
} else {
...実行されない処理
}

Nullと空文字の判定をすべて同時に行う方法※外部ライブラリ使用

外部ライブラリを取り込んだ方法※公式ドキュメント

※導入方法は後日記事にする予定

こちらの方法はNullと「””」空文字や全角・半角のスペースが入っている場合の判定

import org.apache.commons.lang3.StringUtils;

String item = null;
String blankItem1 = "";

// 値がnullもしくは空以外の場合ture
if (StringUtils.isNotEmpty(item) ||
    StringUtils.isNotEmpty(blankItem1)) {
...実行されない処理
} else {
...こちらの処理が実行
}

String blankItem2 = " ";

// 値がnullもしくは空もしくは全角・半角スペース以外の場合ture
if (StringUtils.isNotBlank(item) ||
    StringUtils.isNotBlank(blankItem1) ||
    StringUtils.isNotBlank(blankItem2)) {
...実行されない処理
} else {
...こちらの処理が実行
}

コメント