java7 이전에서 Map의 내용을 확인하기 위해 출력하는 코드는 verbose 하다.


Map<Integer,String> map = new HashMap<Integer,String>();


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

    System.out.println(entry.getKey()+" - "+ entry.getValue());

}




Apache Collections 라이브러리는  MapUtils.debugPrint 메소드를 통해 Map을 출력할 수 있다. 이 방법은 slf4j나 log4j의 OutputStream을 얻기 어려워 쓰기 애매한 부분이 있다. 


MapUtils.debugPrint(System.out, "myMap", map);




java8부터는 stream의 forEach를 사용하면 그나마 좀 쓰기 편한 듯 하다. 



map.forEach((key, value) -> { logger.debug(key + " : " + value); });

'java core' 카테고리의 다른 글

jnr  (0) 2017.02.27
enum 데이터를 리스트(list)로 얻기  (0) 2016.12.19
자바의 clone, guava의 Maps, Lists 사용  (0) 2016.12.01
JVM의 safepoint  (0) 2016.09.08
JDK의 Flight Recorder 라이선스  (0) 2016.09.08
Posted by '김용환'
,