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 |