首页 > 杂七杂八 > commons lang组件之自动生成toString()内容

commons lang组件之自动生成toString()内容

2009年10月30日 发表评论 阅读评论

问题

希望能自动生成toString()方法

解决方案

使用Commons Lang的ReflectionToStringBuilder或ToStringBuiler,配合ToStringBuilder可生成toString()方法
.下面的代码显示了如何使用反射生成器(reflection builder)生成toString()方法.

import org.apache.commons.lang.builder.ReflectionToStringBuilder;

public String toString(){
return ReflectionToStringBuilder.toString(this);
}

让toString()的内容与不断变化的类保持一致,是一项让人心烦又容易遗忘的工作.Commons Lang带有一个非常易用的工具类,
通过反射自动完成这件麻烦事.ToStringBuilder类及其派生类ReflectionToStringBuilder能把原本臃肿的toString()方法
浓缩成一行.更重要的是ReflectionToStringBuilder反映了对象模型未来的变化趋势.

在有限的时间和预算条件下,面对含有上百个实体的对象模型,要保证toString()方法能实时更新几乎就是天方夜谭.如果你的类
拥有含义明确的toString()方法,在诊断程序时将会受益非浅.通过使用ReflectionToStringBuilder类,能确保输出是正确的.
依靠开发者手动维护toString()方法会很不可靠.

分类: 杂七杂八
  1. 2010年1月15日20:26 | #1

    还记得Java的dev2dev社区吗?
    我们几个老成员建立我们的dev2dev: http://dev2dev.us

  2. afad
    2010年5月4日10:41 | #2

    sdf

  3. 2010年6月10日13:23 | #3

    写的不错,谢谢分享!

  4. 2010年9月11日13:26 | #4

    Hmm, your site took quite a long time to load but it was worth it

  5. 2010年10月3日00:03 | #5

    请问www.fhand.com博主您发表博文时,是用客户端工具还是直接在Blog后台编辑发?有什么心得没?

  1. 本文目前尚无任何 trackbacks 和 pingbacks.