ToStringBuilder比较适合在打日志时,输出参数的信息,特别是在参数为对象时,该工具类能够很方便的自动打印对象中的属性值。
不多说,先上代码:
比如说我们需要打印某个方法的User参数对象
package test;
/**
*
* @author zhengtian
* @time 2012-6-28
*/
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
下面是ToStringBuilder的使用方法
System.out.println("-------------ToStringBuilder-------------------------");
User u = new User();
u.setAge(25);
u.setName("zhengtian");
//对象及其属性一行显示
System.out.println(ToStringBuilder.reflectionToString(u));
System.out.println(ToStringBuilder.reflectionToString(u, ToStringStyle.DEFAULT_STYLE));
//属性换行显示
System.out.println(ToStringBuilder.reflectionToString(u, ToStringStyle.MULTI_LINE_STYLE));
//不显示属性名,只显示属性值,在同一行显示
System.out.println(ToStringBuilder.reflectionToString(u, ToStringStyle.NO_FIELD_NAMES_STYLE));
//对象名称简写
System.out.println(ToStringBuilder.reflectionToString(u, ToStringStyle.SHORT_PREFIX_STYLE));
//只显示属性
System.out.println(ToStringBuilder.reflectionToString(u, ToStringStyle.SIMPLE_STYLE));
结果显示:
-------------ToStringBuilder-------------------------
test.User@141d683[name=zhengtian,age=25]
test.User@141d683[name=zhengtian,age=25]
test.User@141d683[
name=zhengtian
age=25
]
test.User@141d683[zhengtian,25]
User[name=zhengtian,age=25]
zhengtian,25
分享到:
相关推荐
收集整理了一些toString的实现方式,相信其中一定有你喜欢的,还等什么赶紧下载吧,评论后积分返回
Java组件开发(1)ToStringBuilder
ToStringBuilder类的一些心得,需要的朋友可以参考一下
hashCodeBuilder EqualsBuilder ToStringBuilder
执行main函数即可,如果想要打印实体类的详细信息,在实体类中添加: @Override public String toString() { return ToStringBuilder.reflectionToString(this); } 其依赖的包为:"org.apache.commons:commons-lang...
/ equals() / hashCode()的情况: 手工制作自己的:( 使用IDE生成的方法:( 使用Apache Common的和 可定制的toString()格式(可以复制Kotlin的数据类格式) reflectionEquals()和reflectionToString()超级简单,但却...
commons-lang3-3.7完整官方资料,对打印数据和字符拼接来说这个对内存做了很大优化 E.G: System.out.println(ToStringBuilder.reflectionToString(next, ToStringStyle.SHORT_PREFIX_STYLE));
commons-lang.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE.txtMETA-INF/NOTICE.txtorg.apache....
commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....
commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....
实用程序测试版实用程序库的扩展,其中包括“测试版”中的库包括基于反射的 ToStringBuilder,以及其他一些随机的想法
使用C#实现的Jakarta Commons中最常用的模块的子集。 模块:TypeUtils(复制,验证),MapUtils(合并,创建),ToStringBuilder,EqualsToBuilder,TypeIntrospector,ListUtils