반응형

실수를 하여 기록해둔다.

 

Java Map 객체에서 값을 빼올 때 

 

예)

HashMap<String, Object> apiResponse = new Map<>();
logger.debug(apiResponse.get("aaa").toString());

aaa라는 이름의 객체를 빼온다고 하자. 

이때 값이 null이면 NullPointException 이 떨어진다. 이때는 값을 굳이 형변환을 할필요 없이 값 앞에다 알맞은 형을 명시해둔다. 이미 Object객체임으로 컴파일러에게 String이라고 아래와 같이 명시해주면 된다.

 

HashMap<String, Object> apiResponse = new Map<>();
logger.debug((String)apiResponse.get("aaa"));

 

아니면 NPE 방지를 위해서 String.valueOf()를 쓰는것도 한 방법이다.

String.valueOf()은 파라미터가 null이면 null인 문자열을 반환시킨다.

String lowerCoatingVal1 = String.valueOf(destItemMap.get("LOWER_VAL"));

String lowerCoatingVal2 = destItemMap.get("LOWER_VAL").toString();

 

lowerCoatingVal1 = "null"

lowerCoatingVal2 = NullPointerException 발생

 

String.valueOf()의 null 체크

String lowerCoatingVal1 = String.valueOf(destItemMap.get("LOWER_VAL"));

if("null".equals(lowerCoatingVal1)) {

    // To do Somting....

}

 

출처 : https://swjeong.tistory.com/146,https://okky.kr/article/71363

반응형

+ Recent posts