我有一个包含许多变量的对象,但其中一个是byteArray,例如
public class DataWithFields { private String string1; private String string2; .... private byte[] data public String toString() { return ToStringBuilder.reflectionToString(this,ToStringStyle.SHORT_PREFIX_STYLE); } }
对于上面的代码,我想从toString中排除数据变量,而不必显式定义每个值.我该怎么做呢?
解决方法
更简单的解决方案:
@Override public String toString() { return ReflectionToStringBuilder.toStringExclude(this,"data"); }
如果DefaultToStringStyle不适合您的应用程序需求,请务必调用
ReflectionToStringBuilder.setDefaultStyle(style);
在申请开始时.
如果您要排除更多字段,只需在“数据”之后或之前添加它们
@Override public String toString() { return ReflectionToStringBuilder.toStringExclude(this,"fieldX","data","fieldY"); }