(二十二)Java工具类ToStringStyle详解

1.ToStringStyle

ToStringBuilder是字符串格式控制类,主要供公共接口总是通过ToStringBuilder来实现,这些类的目的是用作单例模式,
没有必要每次都初始化一个新样式,程序通常使用这个类中预定义的常量之一,另外StandardToStringStyle类可以用来设置各种设置,
因此大多是时候没有必要实现它的子类;
如果是必须的,那么子类可以像它要求的那样覆盖尽可能多的方法,每种对象类型(从long到int到object)都有它对应的输出类型,大多数有两种版本,详情和摘要;

2.ToStringStyle DEFAULT_STYLE

默认的toString样式,使用User实例用ToStringBuilder类输出的的结果是:
common.lang.User@7a5d5033[age=12,username=yaomy]

3.ToStringStyle MULTI_LINE_STYLE

这个是多行toString样式,使用User实例用ToStringBuilder类输出的结果是:
common.lang.User@7a5d5033[
  age=12
  username=yaomy
]

4.ToStringStyle NO_FIELD_NAMES_STYLE

这个是没有字段名toString样式,使用User实例用ToStringBuilder类输出的结果是:
common.lang.User@771c9fcc[12,yaomy]

5.ToStringStyle SHORT_PREFIX_STYLE

这个是无类前缀的toString样式,使用User实例用ToStringBuilder类输出的结果是:
User[age=12,username=yaomy]

6.ToStringStyle SIMPLE_STYLE

这个是简单的toString样式,使用User实例用ToStringBuilder类输出的结果是:
12,yaomy

7.ToStringStyle NO_CLASS_NAME_STYLE

这个是没有类名的toString样式,使用User实例用ToStringBuilder类输出结果是:
[age=12,username=yaomy]

8.ToStringStyle JSON_STYLE

这个是JSON类型的toString样式,使用User实例用ToStringBuilder类输出结果是:
{"age":12,"username":"yaomy"}
总结:大多数情况我们使用以上的七中输出格式就可以了,但是如果有特殊的输出需求可以实现ToStringStyle接口自定义方法;

你可能感兴趣的:(【Java工具类】,ToStringStyle)