我有一个包含许多变量的对象,但其中一个是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");
- }