何を使うべきかの結論
外部ライブラリを使用しない場合は比較演算子を使わず、公式が用意しているものを使用する
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 {
...こちらの処理が実行
}
コメント