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