(二十三)Java工具类ToStringBuilder方法详解

(二十三)Java工具类ToStringBuilder方法详解ToStringBuil 类的作用是协助 Object toString 方法实现字符串输出 这个类是一个良好和一致的对于 toString 方法去输出任何类或者对象 这个类旨在简化处理过程 允许字段名处理所有的类型处理 null 类型输出数组和多维数组允许为对象和集合控制详细级别处理类的层次结构 1 使用此类编写的代码如下 packagecommo lang

ToStringBuilder类的作用是协助Object.toString()方法实现字符串输出; 这个类是一个良好和一致的对于toString()方法去输出任何类或者对象,这个类旨在简化处理过程: 
  • 允许字段名
  • 处理所有的类型
  • 处理null类型
  • 输出数组和多维数组
  • 允许为对象和集合控制详细级别
  • 处理类的层次结构

1.使用此类编写的代码如下:

package common.lang; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; public class User { 
    private int age; private String username; public User(int age, String username) { this.age = age; this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.JSON_STYLE) .append("age", age) .append("username", username) .toString(); } } 
ToStringBuilder类协助PO类输出toString()字符串,我们也可以通过ToStringStyle类指定我们想要输出的字符串格式; 上面的toString方法将会输出:{"age":12,"username":"yaomy"} 添加父类的toString方法,使用appendSuper(java.lang.String)方法; 将另外一个对象的toString添加到当前使用 appendToString(java.lang.String)方法; 另外有一种方法可以利用反射来确定要处理的字段;因为这些字段通常是私有的,这样的方法有reflectionToString, 使用 AccessibleObject.setAccessible去更改字段的可见性,这将在安全管理器下失败,除非正确设置适当的权限, 这样在测试管理器下面会更慢; 

这种方法的典型调用如下:

 public String toString() { return ToStringBuilder.reflectionToString(this); }

还可以使用生成器调用第三方对象:

System.out.println("An object: " + ToStringBuilder.reflectionToString(anObject));

确切的日期格式是根据构造函数中传入的ToStringStyle样式;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226099.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午7:50
下一篇 2026年3月17日 上午7:50


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号