자바를 사용하다 보면 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;
}
대략 위의 같은 코드이다. 편집기에서 손으로 직접 짠거라 에러가 난 거는 직접 수정 또는 확장해야 한다.
'Java, JSP' 카테고리의 다른 글
Java ServerSocket Multithereading 예제 (0) | 2016.04.25 |
---|---|
Java 큐(Queue) 종류 및 특성 (0) | 2016.03.30 |
Java Socket & ServerSocket options (0) | 2013.04.20 |
IO vs NIO performance compare (성능 비교) (0) | 2013.02.14 |
추상클래스 vs 인터페이스 (0) | 2012.02.05 |
댓글