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,这里就不详述了。

你可能感兴趣的:(java,apache,sql,.net)