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

原文链接:https://blog.csdn.net/yaomingyang/article/details/79290576

1.ToStringStyle

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

2.ToStringStyle DEFAULT_STYLE

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

3.ToStringStyle MULTI_LINE_STYLE

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

4.ToStringStyle NO_FIELD_NAMES_STYLE

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

5.ToStringStyle SHORT_PREFIX_STYLE

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

6.ToStringStyle SIMPLE_STYLE

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

7.ToStringStyle NO_CLASS_NAME_STYLE

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

8.ToStringStyle JSON_STYLE

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

猜你喜欢

转载自blog.csdn.net/jarniyy/article/details/80429534