NullPointerException
null
인 것으로부터 필드나 메소드 등을 호출하려 할 때 발생
RuntimeException
☕ Ex01.java
String nulStr = null;
System.out.println(nulStr.length()); // ⚠️ NPE
public static String catOrNull () {
// 슈뢰딩거의 고양이
return new Random().nextBoolean() ? "Cat" : null;
}
System.out.println(
catOrNull().length() // 반복실행해 볼 것
);
// try-catch 문으로 NPE에 대비하기
// 반복실행해 볼 것
try {
System.out.println(
catOrNull().length()
);
} catch (NullPointerException ne) {
ne.printStackTrace();
System.out.println(0);
}
Optional
Optional<T>
: null
일 수도 있는 T
타입의 값null
일 수 있는 값을 보다 안전하고 간편하게 사용하기 위함☕ Ex02.java