실수를 하여 기록해둔다.
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
'개발공부 > 개발TIP' 카테고리의 다른 글
Java - List<> for loop 이용하여 객체 삭제 시 주의할점 (0) | 2020.01.21 |
---|---|
Tomcat 설치 시 유의할점 -server.xml (0) | 2020.01.21 |
htttps 호출시 SSL 무시하여 오류안나게 하는법 (1) | 2019.01.03 |
tar 상대경로로 압축 및 절대경로로 압축된 tar 풀기 (0) | 2018.09.05 |
String, Stringbuilder, StringBuffer 차이점 (0) | 2018.08.13 |