-
[java] java.lang.NullPointerException 원인/해결WEB/BACK 2021. 12. 3. 22:40반응형
안녕하세요 개발을 하다보면 가장 많이 발생하는 오류중 하나를 데려왔습니다~
Exception in thread "main" java.lang.NullPointerException at co.kr.ej.NullPointExample.upper(NullPointExample.java:13) at co.kr.ej.NullPointExample.main(NullPointExample.java:19)
친숙하지 않나요? ㅎㅎ 확실히 이해하고 가기위한 예제를 살펴보겠습니다.
소문자를 넣으면 대문자로 변경해주는 메소드입니다.
public class NullPointExample { public static String upper(String str) { String test = ""; test = str.toUpperCase(); System.out.println("결과값 : " + test); return test; } public static void main(String[] args) { upper("apple"); } }
결과값 : APPLE
실행하게되면 잘 작동하는것 처럼 보입니다. 하지만 만약 null값을 인자로 보내준다면 어떻게 될까요?
upper(null);
위처럼 null을 넣게된다면 실행 결과에 "java.lang.NullPointerException " 가 나오게 됩니다.
null값인데 뭘 uppercase하라는 건지 에러나는게 당연!
해결방법은 간단합니다. null 이 아닐때만 처리되도록 분기처리를 해주는 겁니다.
해결방법
public class NullPointExample { public static String upper(String str) { String test = ""; //str이 null아닐때 if (str != null) { test = str.toUpperCase(); } System.out.println("결과값 : " + test); return test; } public static void main(String[] args) { upper(null); } }
이렇게 하게되면 더이상 널포인트 에러가 나지 않게됩니다.!
감사합니다. 그럼 이만~
반응형'WEB > BACK' 카테고리의 다른 글
[JAVA] 문자열을 잘라서 list로 가져오기 (split, Arrays.asList) (0) 2022.01.07 [JAVA] Map 정리(LinkedHashMap, containKey, keySet(),Map 합치기putAll,순서보장하는 Map) (0) 2021.12.06 [JAVA] list 에서 특정 list에 든 데이타들 삭제하기(arrayList, remove) (0) 2021.11.29 [Spring]3/3 게시판 - 목록 보여주기 (selectList) (2) 2021.10.04 [Spring]2/3 spring 프로젝트에 +mybatis + mariadb연동 (3) 2021.10.03