List<Map<String, Object>> list = dao.getUserInfo(); // DB에서 값 셀렉트.
for (Map<String, Object> map : list) {
String key1 = (String) map.get("KEY1");
int key2 = (Integer) map.get("KEY2");
System.out.println(key1);
System.out.println(key2);
}
위 코드의 결과는? (단, DB에서 셀렉트한 값은 있다고 가정한다. list != null)
1. key1, key2 값 console에 출력
2. 컴파일단에서 에러
3. App. 단에서 에러
NumberFormatException 나면서 터졌겠지 뭐
아 ClassCastException이겠네 parseInt한줄
컴파일은 되겠지만 getUserInfo() 를 보기 전에는 저 코드만으로 캐스팅 오류가 발생할지 문제없을지는 모름... User라는 커스텀 클래스를 안쓰고 map에다 프로퍼티 이름과 값을 담겠다는 의도인데.. 저런거 많이 쌓이면 나중에 감당안됨...