您的位置:首页 > 编程语言 > Java开发

JAVA 输出javabean属性方法 详解 利用common包~~~important

2013-02-05 14:40 357 查看
今天开始学习Jakarta Commons Lang,看的是O'Reilly的《Jakarta Commons Cookbook》。
ReflectionToStringBuilder类是用来实现类中的toString()方法的类,它采用Java反射机制(Reflection),通过reflection包中的AccessibleObject类绕过访问控制而直接存取对象的私有成员。因此在使用该类时,要注意运行环境的安全策略。

###打印javabean的各个属性:1.应用场景:  在调用WS时候,往往需要查看此时的调用(请求)参数类query,中各个参数设置是否正确,              此时希望应该打印出各个属性与其值。2.方法: 在此请求类中覆写tostring函数,并在函数中加入common包的ReflectionToString.toString(this)函数搞定!	public String toString() {
return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
} 打印: System.out.println(cqc) 即可。 (此句自动调用tostring方法)

3.PS:tostring函数的作用:
-object 总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法 所有对象都有toString()这个方法,因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法” 

-它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法
4.ReflectionToStringBuilder类是用来实现类中的toString()方法的类,它采用Java反射机制(Reflection),通过reflection包中的AccessibleObject类绕过访问控制而直接存取对象的私有成员。因此在使用该类时,要注意运行环境的安全策略。

--------------------------------

看完了ReflectionToStringBuilder后,发现一个问题是输出的内容过多,如果想对toString()方法输出的内容进行定制,则需要使用ToStringBuilder和ToStringStyle这两个类。
ToStringBuilder类中的append方法可以向该类添加基本类型、数组和对象 ,只有添加的方法才会被toString方法输出。
ToStringStyle类则是对输出的内容进行格式化。
例:


    public String toString() {


        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)


                .append("name", name)


                .append("age", age)


                .toString();


    }
其它的功能可以参考Jakarta Commons的文档。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: