Каков наилучший способ печати всех значений полей в классе Java - PullRequest
3 голосов
/ 20 ноября 2011

У меня есть класс Product с некоторыми полями. Я хочу напечатать все значения для объекта продукта.

Class Product{

 String code;
 String description;

}

Product p = new product();
p.setCode("C");
p.setDescription("desc");

Я хочу напечатать значения экземпляров продукта ex

Code:C Description:Desc.

У меня есть около 100 классов с множеством полей во всех классах. Это лучший способ.

Ответы [ 2 ]

5 голосов
/ 20 ноября 2011

Если вы не хотите создавать строку вручную или управлять изменениями вручную, вы можете рассмотреть что-то вроде метода Commons Lang ReflectionToStringBuilder.reflectionToString(), также доступного через класс ToStringBuilder.

5 голосов
/ 20 ноября 2011

Вы захотите переопределить метод toString () в java.lang.Object.

Если вы используете Eclipse, вы можете автоматически сгенерировать метод toString, который делает то, что вы хотите.Вот хороший пример того, как это сделать:

http://idiot2genius.wordpress.com/2011/05/17/eclipse-generate-java-tostring-method-quickly/

В проекте Apache Commons Lang есть очень полезный класс, который также может оказаться полезным:

http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/builder/ToStringBuilder.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...