Jinius.com
article thumbnail
728x90
반응형

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

반응형

NullPointException 예제 코드

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)

NullPointException 방지 / 체크

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

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() 함수를 사용

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

 

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

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

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)){
            // value 가 null일 때
        }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

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