Java дамп объекта - PullRequest
       5

Java дамп объекта

1 голос
/ 05 февраля 2011

Мне нужно сбросить все атрибуты объекта Java. Я нашел несколько функций, которые делают это, но ни одна из них не обрабатывает собственные ссылки, и все функции, которые я обнаружил, превращаются в бесконечную рекурсию.

// Я буду запускать эту функцию на Android, но это не должно иметь значения.

1 Ответ

1 голос
/ 05 февраля 2011

Если это просто для отладки или если вы хотите какую-то базовую сериализацию, взгляните на XStream .Вот пример с их сайта, говорящий о собственных ссылках, в частности ...

Cd bj = new Cd("basement_jaxx_singles");

List order = new ArrayList();
// adds the same cd twice (two references to the same object)
order.add(bj);
order.add(bj);

// adds itself (cycle)
order.add(order);

XStream xstream = new XStream();
xstream.alias("cd", Cd.class);
System.out.println(xstream.toXML(order));

И вывод ...

<list>
  <cd>
    <id>maria rita</id>
  </cd>
  <cd>
    <id>basement_jaxx_singles</id>
  </cd>
  <cd reference="../cd[2]"/>
  <list reference=".."/>
</list>
...