在Java中覆盖toString()的简单方法

时间:2012-05-09 13:24:27

标签: java override tostring

我有一个包含许多字段的java bean。我知道如何使用StringBuilder覆盖toString()并直接使用字段名称。有没有办法以更好的方式做到这一点,比如没有字段名称?

提前致谢。

P.S:这个bean已经在我的产品中实现了。

3 个答案:

答案 0 :(得分:9)

我经常使用Apache Common Lang的ToStringBuilder

public String toString() {
   return ToStringBuilder.reflectionToString(this);
}

这使用反射为相关对象生成toString

答案 1 :(得分:2)

Apache Common有一个ToStringBuilder class,它使用反射来创建一个不错的toString结果。

答案 2 :(得分:1)

您可以使用反射显式地或使用辅助类(例如提供的here)来执行相同的操作。我认为反射有直接使用字段名称的开销。