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

moh*_*aki 3 java reflection

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

Class Product{

 String code;
 String description;

}

Product p = new product();
p.setCode("C");
p.setDescription("desc");
Run Code Online (Sandbox Code Playgroud)

我想打印产品实例的值

Code:C Description:Desc.
Run Code Online (Sandbox Code Playgroud)

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

Sha*_*aun 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


Dav*_*ton 5

如果您不想手动构建字符串或手动管理更改,您可能会考虑类似Commons LangReflectionToStringBuilder.reflectionToString()方法,也可以通过ToStringBuilder类来实现.