`
nesta2001zhang
  • 浏览: 68639 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初用org.apache.commons.beanutils.ConvertUtils

阅读更多

ConvertUtils ,这个工具类的职能是在字符串和指定类型的实例之间进行转换。

目前支持的类型有:

  • java.lang.BigDecimal
  • java.lang.BigInteger
  • boolean and java.lang.Boolean
  • byte and java.lang.Byte
  • char and java.lang.Character
  • java.lang.Class
  • double and java.lang.Double
  • float and java.lang.Float
  • int and java.lang.Integer
  • long and java.lang.Long
  • short and java.lang.Short
  • java.lang.String
  • java.io.File
  • java.net.URL
  • java.sql.Date
  • java.sql.Time
  • java.sql.Timestamp

总体提供两类功能:

1.          将字符串转换为指定类型;

2.          注册、注销和查询类型转换器;

convert (java.lang.Object value)

将任意的实例转变为 String ,用法非常简单。在尝试的过程中,感觉与调用实例上的 toString() 方法的效果一样,不知道是不是在这个方法内仅仅是调用了传入实例的 toString() 方法。

ps: 需要读源代码才能清楚。

convert(java.lang.String value, java.lang.Class clazz)

将字符串 value 转换为 clazz 的一个实例;如果失败的话,就以 String 的形式返回 value

convert(java.lang.String[] values, java.lang.Class clazz)

这个方法是对前一方法的加强版,将数组中的每个 value 都进行转换,最后以 Object 返回。(数组也是 Object 啊)

deregister () deregister (java.lang.Class clazz )

注销转换器,前者将所有的转换器注销掉,后者只注销对应于 clazz 的转换器。注销在这里不是彻底删除了,而是将转换器变为默认的转换器( apache commons 提供的)。

lookup (java.lang.Class clazz)

获取指定类型 clazz 的转换器.

register (Converter  converter, java.lang.Class clazz)

为指定类型 clazz 注册转换器 converter 。如果 clazz 已经存在一个对应的转换器,那么 converter ,将覆盖原来的转换器。也就是说,我们可以为 String,Double 创建自定义的类型转换器,并在注册后进行使用。

ps:apache 的类定义明确,描述非常清楚,所以就不贴出例子了。当然这只是到达可以正常使用的阶段,如果要进行改造或者创建自己的 ConvertUtils ,那可能需要更多的时间,因为还要去参考 ConvertUtilsBean ,这里就不详述了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics