Optional 이란
Java 8 부터 지원하는 NullPointerException을 방지할 수 있도록 도와주는 Wrapper 클래스이다.
NullPointerException 이란
값이 없는 null을 가지고 있는 객체 또는 변수를 호출할때 발생하는 예외이다.
// NullPointerException 발생
private Scanner scanner;
public f(){
int a = scanner.nextInt();
System.out.println(a);
}
// NullPointerException 해결
private Scanner scanner;
public f(){
if(scanner == null){
scanner = new Scanner(System.in)
}
int a = scanner.nextInt();
System.out.println(a);
}
null인지 확인하는 로직을 추가해야한다. (코드의 가독성이 나빠지고 길어진다.)
따라서 객체를 선언할때 초기값을 선언 하는것을 추천한다.
Optional<T> 사용하기
//Optional 객체 생성
Optional<SampleObject> sampleObject;
Optional<String> sampleText;
//null값으로 선언하기
Optional<String> optionalEmpty = Optional.empty();
System.out.println(optionalEmpty); // Optional.empty
System.out.println(optionalEmpty.isPresent()); // false
System.out.println(optionalEmpty.isEmpty()()); // true
Optional을 사용하면 null 대신 Optional.empty으로 사용할 수 있다.
해당 메소드들 외에도 다양한 메소드들이 존재한다.
'Java , Spring > Java' 카테고리의 다른 글
[Java] JVM , Java compiler, Java 코드 실행과정 JDK,JRE,JVM (0) | 2024.01.09 |
---|---|
[Java] next(), nextLine() 차이 (0) | 2024.01.07 |
[Java] Thread(쓰레드) 생성, 실행 (0) | 2023.05.14 |
[Java] 추상클래스, 인터페이스(abstract class, ) (0) | 2023.02.03 |
[Java] 오버라이딩, 오버로딩 (Overriding, Overloading) (0) | 2023.02.03 |
댓글