【Java】nullをOptionalでコントロール nullなんて怖くないっ!
Java開発されている方がよく困るのはnullのコントロールです
以下のソースは「NullPointerException」を発生させます。
「System.out.println(test.toString());」の「toString()」を実施する際に「test」がnullのため例外が発生してしまいます( ;∀;)
	public static void main(String[] args) {
		Integer test = null;
		List<Integer> numberList = Arrays.asList(1, 2, 3);
		for (Integer number : numberList) {
			test = judgeNumber(number);
   
   //  ここでNullPointerExceptionが発生します!!
			System.out.println(test.toString());
		}
	}
	private static Integer judgeNumber(Integer number) {
		if (number != 2) {
			return number;
		}
		return null;
	}
// 結果:NullPointerExceptionnullをコントロールするために、
Java8で追加されたクラス「java.util.Optional」を使用するのです
以下のソースイメージです
public static void main(String[] args) {
    // 「Optional」で宣言する
    Optional<Integer> test = null;
		List<Integer> numberList = Arrays.asList(1, 2, 3);
		for (Integer number : numberList) {
			test = judgeNumber(number);
			// 「test」がnullでなければtestを出力
			if (test.isPresent()) {
    // 「NullPointerException」を発生させることもなく出力できる
				System.out.println(test.get().toString());
			}
		}
	}
	// Optionalで返却する
	private static Optional<Integer> judgeNumber(Integer number) {
		if (number != 2) {
			return Optional.of(number);
		}
		return null;
	}
// 結果:1 3と出力される「Optional」はnullかもしれない値をコントロールすることができます
nullの可能性があるということをソース内で明示する意味として使用されることもあるのです
Optionalでどんどんnullを撃退しましょう!!
ではっ
 
			是非フォローしてください
最新の情報をお伝えします
