NPE : Null Pointer Exception - 가장 많이 발생하는 에러 중의 하나
자바에서는 (거의) 모든 것이 레퍼런스 ⇒ (거의) 모든 것이 null이 될 수 있음
항상 null을 확인할 필요가 있음
이제부터 null을 쓰지마 ⇒ 서로 약속, 계약. 계약을 하고 프로그래밍 한다. ( 이것이 요즘의 개발 트렌드임)
Null을 사용하지 않는 방법
EMPTY 객체를 사용하는 방법
public class User{
public static final EMPTY = new User(0, "");
private int age;
private String name;
public User(int age, String name){
this.age = age;
this.name = name;
}
}
User user = null; // 초기값을 무엇을 지정해 주어야 하는데, 어떤 값이 들어오기 전에. 이때
// null을 쓰지 말자. =>
User user = User.EMPTY;
Optional을 사용하는 방법
Optional<User> optionalUser = Optional.empty(); // 값이 있을수도 있고 없을 수도 있는 것
optionalUser = Optional.of(new User(1, "2"));
// 확인하는 방법
optionalUser.isEmpty();
optionalUser.isPresent();
if(optional.isPresent()){
// do 1
}
else{
// do 2
}
optional.ifPresent(user -> {
// do 1
});
optional.ifPresentOrElse(user -> {
// do 1
}, () -> {
// do 2
});