Ищите стандартную библиотеку или технику, чтобы получить печатное представление OBJECT for Java - PullRequest
5 голосов
/ 07 февраля 2012

Чтобы понять внутреннюю часть некоторого кода или вывести дамп ошибок, я использую pp -подобные функции в Python и Emacs lisp.

Теперь я перехожу кв Java и ищите стандартную библиотеку или технику, чтобы получить довольно печатное представление OBJECT for Java.

Кажется, что текущая спецификация Java допускает самоанализ объекта Java во время выполнения.Но самоанализ может быть не таким сильным. m (Object o) нельзя вызвать с помощью new Object [] arg?

NOTE Я NOT глядя на исходный код beautifier!Я ищу во время выполнения довольно дамп печати Java-объектов.

NOTE2 Эти вопросы похожи, но не совсем одинаковы:

Ответы [ 2 ]

11 голосов
/ 07 февраля 2012

Вы можете использовать ReflectionToStringBuilder из библиотеки Apache Commons Lang .

Пример:

String dump = ReflectionToStringBuilder.toString(object);

По вашему вопросу:

m (объект o) не может быть вызван с новым объектом [] arg?

Конечно, массивы Object являются подтипом Object.

7 голосов
/ 07 февраля 2012

Для быстрого и грязного решения, показывающего вывод объекта Java, вы можете использовать Джексона http://jackson.codehaus.org/, это выведет объект в JSON.

...