Jinius.com
article thumbnail
728x90
반응형

1. NullPointException 란?

https://jinius-com.tistory.com/entry/JAVA%EC%9E%90%EB%B0%94-NullPointerException-%EC%9D%B4%EB%9E%80

 

[JAVA/자바] NullPointerException 이란?

NullPointerException 이란? 개발을 하다보면 흔히 접하는 NullPointException 사용할 객체 생성 후 객체의 값이 Null인 상황에서 인스턴스 생성 없이 해당 객체를 이용하여 다른 코드를 실행하려 한다면 오

jinius-com.tistory.com

2. NullPointException 예제 코드

<sql />
import java.util.*; public class main { public static void main(String[] args) { Map<String, Object> map = new HashMap<String, Object>(); map.put("k1", null); map.put("k2", "value"); map.put("k3", 4); System.out.print(map.get("k1").toString()); } }

결과 :

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
at main.main(main.java:11)

3. NullPointException 방지 / 체크

해당 객체가 Null이 아닌지 체크한다.

<sql />
import java.util.*; public class main { public static void main(String[] args) { Map<String, Object> map = new HashMap<String, Object>(); map.put("k1", null); map.put("k2", "value"); map.put("k3", 4); // Null 체크 if(map.get("k1")!=null){ System.out.print("1 :"+map.get("k1").toString()); } if(map.get("k3")!=null){ System.out.print("2 :"+map.get("k3").toString()); } } }

 

또는 String.valueIOf() 함수를 사용

<sql />
import java.util.*; import java.lang.*; public class main { public static void main(String[] args) { Map<String, Object> map = new HashMap<String, Object>(); map.put("k1", null); map.put("k2", "value"); map.put("k3", 4); // Null 체크 System.out.println("1 :"+String.valueOf(map.get("k1"))); if(map.get("k3")!=null){ System.out.println("2 :"+map.get("k3").toString()); } } }

결과 :

1 :null
2 :4

 

4. 💡 valueOf()를 사용 시 주의할 점은 null이 문자열 값으로 들어오기 때문에

역시 문자열이 "null" 인지 비교해줘야 한다.

<sql />
import java.util.*; import java.lang.*; public class main { public static void main(String[] args) { Map<String, Object> map = new HashMap<String, Object>(); map.put("k1", null); map.put("k2", "value"); map.put("k3", 4); // Null 체크 String value = String.valueOf(map.get("k1")); if("null".equals(value)){ // valuenull일 때 }else{ System.out.println("1 :"+value); } if(map.get("k3")!=null){ System.out.println("2 :"+map.get("k3").toString()); } } }
728x90
반응형
profile

Jinius.com

@Jinius.com

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!