String.valueOf return “Null”
Null인데요 Null이 아닙니다(?)
문제:
값이 Null임에도, 자꾸만 null check 조건문을 뚫고(?) 들어와 로그를 출력하는 현상이 발생.
Map안에있는 키값(double형인..)을 꺼내, null Check을 위한 조건문을 작성하였으나,
값이 Null임에도, 자꾸만 로그가 찍히는 현상이 발생
String lat = String.valueOf(row.get("LAT"));
String lng = String.valueOf(row.get("LNG"));
if (lat != null && lng != null) {
logger.debug("lat:[{}] lng:[{}]",lat,lng);
}
---------
DEBUG : lat : [Null] lng : [Null]
맞는데 왜.. 틀리지.. ∞…
사실확인을 위해 String.valueOf 메소드 내부를 확인..
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
해결:
인자로받은 객체가 Null일경우, String “null”을 반환함
내가 봤던 null은 문자열 “null”이였던것….