(二十三)Java工具类ToStringBuilder方法详解
2018-02-08 17:52
471 查看
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样式;
相关文章推荐
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解
- (二十三)Java工具类ToStringBuilder方法详解