728x90
반응형
NullPointException 란?
https://jinius-com.tistory.com/entry/JAVA%EC%9E%90%EB%B0%94-NullPointerException-%EC%9D%B4%EB%9E%80
반응형
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
반응형
'개발 > Java' 카테고리의 다른 글
[JAVA/자바] 삼항연산자 사용법 & 예제 (Ternary Operator) (0) | 2023.03.09 |
---|---|
[JAVA/자바] 문자열 변환 함수 toString()과 String.valueOf() 차이점 (0) | 2022.10.27 |
[JAVA/자바] NullPointerException 이란? (0) | 2022.10.24 |
[JAVA] 자바 형 변환 총 정리 (JAVA CASTING) (0) | 2022.05.14 |
[JAVA] JAVA n차원 배열 / 다차원 배열 추출하기 (0) | 2022.04.01 |