2010-05-13 104 views
49

當我在Java中執行System.out.println(map)時,我在stdout中獲得了很好的輸出。我怎樣才能在一個變量中獲得Map的這個相同的字符串表示而不需要插入標準輸出?像String mapAsString = Collections.toString(map)映射到Java中的字符串

回答

95

使用Object#toString()

String string = map.toString(); 

這畢竟也是System.out.println(object)所做的。地圖的格式在AbstractMap#toString()中描述。

+2

在地圖上的toString按F3也可以使用谷歌的集合(番石榴)木類()方法是一種誤導!直接調用Object.toString() - 在參與F3 – Adam 2015-05-21 14:36:41

+1

@Adam之前應該考慮一下,這是因爲在接口上調用了toString(),當然這個方法沒有定義。您的IDE不知道實際的運行時實現。你不應該責怪她。 – 2016-05-11 16:30:49

+0

@VictorDombrovsky任何半得體的IDE(例如IntelliJ,Eclipse等)都應該能夠追蹤接口中定義的方法的實際實現。 – wheeler 2017-03-14 14:03:10

8

,如果你想自定義打印格式