본문 바로가기
개발자의 정보/Java & framework

Note: Recompile with -Xlint:unchecked for details.

by pastory 2023. 3. 10.

Java Object를 Map 으로 컨버팅 하기 위해 사용하는 방법중 com.fasterxml.jackson.databind.ObjectMapper 클래스를 활용할 수 있다.

ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> dataMap = objectMapper.convertValue(dataClass, Map.class);

다만 이런 경우 자바의 Lint에 의해 경고가 발생할 수 있다. 이는 Map 클래스가 제너릭이기 때문에 그에 대한 정의를 제대로 하지 않았기 때문에 문제가 발생할 가능성이 있기 때문에 경고하는 것이다.

이때는 정확한 Map 클래스에 대한 정의를 알려 주어야 한다. 이때는 TypeReference 클래스를 사용하면 된다.

ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> dataMap = objectMapper.convertValue(pushEslDto, new TypeReference<>() {});

new TypeReference<Map<String, Object>> 를 사용해 클래스 인스턴스를 생성하면 되는데 이때 인스턴스 생성시 유추 가능할 경우   new TypeReference<>(){} 로 생략 가능하다.

 

댓글