打印java类中字段的所有值的最佳方法是什么

时间:2011-11-20 04:36:30

标签: java reflection

我有一个名为Product的类,有一些字段。 我想打印产品对象的所有值。

Class Product{

 String code;
 String description;

}

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

我想打印产品实例的值

Code:C Description:Desc.

我有大约100个课程,所有课程都有很多字段。最好的方法是什么。

2 个答案:

答案 0 :(得分:5)

您需要覆盖java.lang.Object中的toString()方法。

如果使用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

答案 1 :(得分:5)

如果您不想手动构建字符串或手动管理更改,您可以考虑使用Commons Lang ReflectionToStringBuilder.reflectionToString()方法,也可以通过ToStringBuilder类提供。