アットウィキロゴ

Objectsクラス2

Objectsには変数がnullの場合の処理を簡単に記述できるメソッドがあります。
変数の型は何でもかまいません。

以下、例として文字列が変数に格納されている場合はその文字を、変数がnullだった場合はnullを表す文字列を格納する処理を書いてみます。

String str1 = "apple";
String str2 = null;

if (str1 == null) {
  str1 = "value is null";
}

if (str2 == null) {
  str2 = "value is null";
}

System.out.println("str1 = " + str1 + ", str2 = " + str2);

結果は以下になります。
str1 = apple, str2 = value is null


これをguavaで実装してみます。
String str1 = "apple";
String str2 = null;

str1 = Objects.firstNonNull(str1, "value is null");
str2 = Objects.firstNonNull(str2, "value is null");

System.out.println("str1 = " + str1 + ", str2 = " + str2);

結果は以下になります。
str1 = apple, str2 = value is null
こちらの方がif文がなくなり、すっきりしました。
注意として、第一引数と第二引数が両方ともnullの場合NullPointerExceptionが発生します。
最終更新:2014年01月05日 21:37
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。