본문 바로가기
Java, JSP

Java return generic type (map to bean)

by 수앙 2015. 6. 12.

자바를 사용하다 보면 map을 bean으로 변환해야 할 일이 많다.

하지만 변환하다보면 형변환(cast)를 강제적으로 해주면서 코드가 지저분해지는 걸 종종 보게 되는데

이를 방지코저 제네릭 타입으로 리턴하는 예제를 해보겠다.


public static <T> T map2Bean(Map<String, Object> map, Class<T> clazz) {

T t= null;


try {

t = clazz.newInstance();


for (Entry<String, Object> entry : map.entrySet()) {

String key = entry.getKey();

Object value = entry.getValue();


if (value == null) {

    continue;

}


for (Method m : clazz.getDeclaredMethods()) {

if (m.getName().equalsIgnoreCase("set" + key)) {

m.invoke(t, value);

}

}

} catch (Exception e) {

    e.printStackTrace();

}


return t;

}


대략 위의 같은 코드이다. 편집기에서 손으로 직접 짠거라 에러가 난 거는 직접 수정 또는 확장해야 한다.

댓글