CS지식

TIL/자바 - Optional // null처리의 새로운 방법

차빛 2021. 5. 21. 12:54
반응형

스프링으로 플젝하면서 아직 모르는게 많다고 느껴서 인프런에 김영한님의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술'을 듣기 시작했다.

 

학원에서는 정말 기본만 알려주기때문에 나와 같은 사람들이 있을것같아서 기록해본다.

 

바로 위대하신 Optional 이다.

 

이때까지 몰랐다. 학원 5개월 다니면서 처음 접해본다. 

자바 책을 성실히 읽지못한 나의 탓인걸까 아님 아무도 기술하지않았던 걸까. 다시 서울집에가게되면 확인해봐야겠다.

 

 

Java8부터 도입된 Optional 클래스.

 

Optional은 모든 타입의 참조변수를 저장할 수 있고, 제일 중요한!!!! 신세계였던, 나에게 꼭 필요했던!! NullPointerException을 간단히 피해갈 수 있다.

 

Optional 객체의 생성

of()메소드, ofNuallable() 메소드를 사용하여 Optional 객체 생성이 가능

 

쉽게말하면! of메소드는 null을 제외한 아무 값이든 반환하지만 값이 null이 될 경우 NullPointerException이 발생할 수 있다.

 

 

이 글의 포인트!!!!!!!!

 

ofNullable()메소드를 쓰면 값이 있을경우엔 값을 반환하고 null이면 비어이있는 Optional객체를 반환!! 

 

 

	String name = null;
	Optional<String> obj = Optional.ofNullable(name);
	    
	System.out.println(obj);

위의 코드는  Optional.empty가 출력이 되며

 

	String name = "spring";
	Optional<String> obj = Optional.ofNullable(name);
	    
	System.out.println(obj);

Optional[spring] 이 출력된다.

 

 

생각의 흐름대로 써내려가서 실제로 프로젝트에 적용 시킨 뒤에 글을 다시 쓰도록 하겠다!!

 

처음값이 null이 나오는 검색기능을 구현하는 바람에 엄청 고생했는데 이거쓰면 ........ 예외처리도 쉬워 지겠지!?! 

 

 

반응형