我曾经在commons-lang中使用ToStringBuilder.reflectionToString(class)
来为简单的DTO实现toString()
方法。 现在我正在尝试使用Google Guava代替Apache commons库。 我发现Guava中有Objects.ToStringHelper
,但是如果类中有很多成员,则它太冗长了。例如:
@Override
public String toString() {
return MoreObjects.toStringHelper(this.getClass()).add("name", name)
.add("emailAddress", emailAddress)
.add("department", department).add("yearJoined", yearJoined)
.toString();
}
如果我使用commons-lang,这将简单得多:
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
有没有更好的方法使用Guava来实现toString()
,而不是使用commons-lang?