Если карта содержит коллекцию в качестве значения, другие ответы требуют дополнительных усилий для преобразования их в строки, например Arrays.deepToString(value.toArray())
(если это карта значений списка) и т. Д.
Я сталкивался с этими проблемами довольно часто и наткнулся на универсальную функцию для печати всех объектов, используя ObjectMappers
. Это очень удобно во всех местах, особенно во время экспериментов, и я бы порекомендовал вам выбрать этот способ.
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
public static String convertObjectAsString(Object object) {
String s = "";
ObjectMapper om = new ObjectMapper();
try {
om.enable(SerializationFeature.INDENT_OUTPUT);
s = om.writeValueAsString(object);
} catch (Exception e) {
log.error("error converting object to string - " + e);
}
return s;
}