Ben ne zaman System.out.println(map)Java, ben Stdout'a güzel bir çıktı elde edin. MapBir değişkendeki a'nın aynı dize gösterimini standart çıktıya karışmadan nasıl elde edebilirim ? Gibi bir şey String mapAsString = Collections.toString(map)?
Yanıtlar:
Kullanın Object#toString().
String string = map.toString();
Sonuçta davlumbazların altında da ne System.out.println(object)yapıyor . Haritaların biçimi konusunda açıklanmaktadır .AbstractMap#toString()
Bu haritanın dize gösterimini döndürür. Dize temsili,
entrySetparantez ("{}") içine alınmış , haritanın görünümünün yineleyicisi tarafından döndürülen sırayla anahtar-değer eşlemelerinin bir listesinden oluşur . Bitişik eşlemeler "," (virgül ve boşluk) karakterleriyle ayrılır. Her bir anahtar / değer eşlemesi, anahtar olarak oluşturulur ve ardından bir eşittir işareti ("=") ve ardından ilişkili değer gelir. Anahtarlar ve değerler olarak dizelere dönüştürülürString.valueOf(Object).
toString()içinde beyan edilmemiştir Mapve eğer öyleyse: Map21 uygulama sınıfı vardır. Gerçekte kullanılan uygulama yalnızca çalışma zamanında bilindiğinde hangisi diğerlerine tercih edilmelidir?
Baskı formatını özelleştirmek istiyorsanız, google-collections (guava) Joiner sınıfını da kullanabilirsiniz.