java에서 get() NullPointerException 일때
- Coding/Java
- 2019. 10. 22.
반응형
728x90
반응형
문제발생
자바 로직에서 VO의 get method를 통해 데이터를 set 해주고 있는 경우에 NullPointerExceptin 에러를 만날 수 있는 경우가 있다.
예제
StudyVO
+NoteVO noteVO
+PenVO penVO (penVO는 Null이다)
예시로, StudyVO 안에 NoteVO 타입의 변수와 PenVO 타입의 변수가 선언되어있다. noteVO는 Null이 아니기 때문에 noteVO안의 필드를 get 메소드를 통해 가져와도 에러가 발생하지 않는다.
StudyVO studyVO = new StudyVO();
/** getNoteVO()는 studyVO가 Null이 아니므로 에러가 발생하지 않는다. */
NoteVO noteVO = studyVO.getNoteVO();
/** noteVO는 null이 아니므로 에러가 발생하지 않는다. */
String test = noteVO.getResult();
값이 Null인 penVO를 보자.
StudyVO studyVO = new StudyVO();
/** getPenVO()는 studyVO가 Null이 아니므로 에러가 발생하지 않는다. */
PenVO penVO = studyVO.getPenVO();
/** NullPointerException 발생! */
String test = penVO.getResult();
위 noteVO.getResult()와 penVO.getResult()의 차이를 본다면, penVO의 값이 Null이라는 것이다. 따라서 Null인 객체를 get 메소드를 통해 어떠한 값을 가져오려고한다면, 그때 NullPointerException이 발생한다.
반응형
'Coding > Java' 카테고리의 다른 글
java8의 LocalDateTime 클래스 날짜시간 (0) | 2020.11.06 |
---|---|
자바 8의 Optional 등장 (0) | 2020.11.06 |
[LocalDateTime] java8 의 날짜시간 (0) | 2019.10.22 |
[JAVA] 날짜변환 String-Date-XMLGregorianCalendar-GMT+09:00 (0) | 2019.10.21 |
Override 어노테이션의 사용 (0) | 2019.02.15 |