Open ShimSeongbo opened 1 year ago
Java에서 Map의 get 메소드는 해당 키가 없을 경우 null을 반환합니다. 따라서 (List) param.get("dc_pdReqList");에서 "dc_pdReqList"에 대한 값이 없으면 null을 반환하게 됩니다. 이를 List 타입으로 캐스팅하려고 하면 NullPointerException이 발생할 수 있습니다.
Map
get
null
(List) param.get("dc_pdReqList");
"dc_pdReqList"
List
NullPointerException
이를 처리하기 위한 몇 가지 방법이 있습니다:
null 체크: 가장 기본적인 방법은 null인지 확인하는 것입니다.
List<Map> pdReqList = null; if (param.get("dc_pdReqList") != null) { pdReqList = (List) param.get("dc_pdReqList"); }
Optional 사용: Java 8 이상에서는 Optional을 사용하여 null을 안전하게 처리할 수 있습니다.
Optional
Optional<List<Map>> optionalPdReqList = Optional.ofNullable((List) param.get("dc_pdReqList"));
Map.getOrDefault 사용: Java 8 이상에서 Map.getOrDefault 메소드를 사용하여 키가 없을 경우의 디폴트 값을 설정할 수 있습니다.
Map.getOrDefault
List<Map> pdReqList = (List) param.getOrDefault("dc_pdReqList", new ArrayList<Map>());
예외 처리: try-catch 블록을 사용하여 NullPointerException을 잡을 수 있지만, 이는 일반적으로 권장되지 않는 방법입니다. 가능하면 문제의 원인을 미리 제거하는 것이 좋습니다.
try-catch
여러 방법 중에 하나를 선택하여 적용하면 됩니다.
어노테이션 aop활용
Java에서
Map
의get
메소드는 해당 키가 없을 경우null
을 반환합니다. 따라서(List) param.get("dc_pdReqList");
에서"dc_pdReqList"
에 대한 값이 없으면null
을 반환하게 됩니다. 이를List
타입으로 캐스팅하려고 하면NullPointerException
이 발생할 수 있습니다.이를 처리하기 위한 몇 가지 방법이 있습니다:
null
체크: 가장 기본적인 방법은null
인지 확인하는 것입니다.Optional
사용: Java 8 이상에서는Optional
을 사용하여null
을 안전하게 처리할 수 있습니다.Map.getOrDefault
사용: Java 8 이상에서Map.getOrDefault
메소드를 사용하여 키가 없을 경우의 디폴트 값을 설정할 수 있습니다.예외 처리:
try-catch
블록을 사용하여NullPointerException
을 잡을 수 있지만, 이는 일반적으로 권장되지 않는 방법입니다. 가능하면 문제의 원인을 미리 제거하는 것이 좋습니다.여러 방법 중에 하나를 선택하여 적용하면 됩니다.