스프링으로 플젝하면서 아직 모르는게 많다고 느껴서 인프런에 김영한님의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 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이 나오는 검색기능을 구현하는 바람에 엄청 고생했는데 이거쓰면 ........ 예외처리도 쉬워 지겠지!?!
'CS지식' 카테고리의 다른 글
[노개북챌린지] CleanCode TIL 복습 / 최애 TIL (0) | 2022.02.21 |
---|---|
[노개북챌린지] CleanCode TIL 2장 의미 있는 이름 (0) | 2022.02.21 |
[노개북챌린지] CleanCode TIL 1장 깨끗한 코드 (0) | 2022.02.19 |
[이슈]스프링부트로 시작하는 AWS 웹서비스 - m1칩 ssh (0) | 2021.06.09 |
맥으로 개발하기 MySQL편 (0) | 2021.05.19 |