`

commons-beanutils包ConvertUtils使用(二)

阅读更多
1.org.apache.commons.beanutils.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

2.实战,我想实现一个可以将String类型转换为java.util.Date类型的转换器(这个不在上面包含的支持类型里),很简单我们只要实现Converter接口,实现Convert(Class type,Object value)方法。
public class DateConvert implements Converter{
private static SimpleDateFormat format ;

public DateConvert(String pattern){
   format = new SimpleDateFormat(pattern);
}

@Override
public Object convert(Class type, Object value) {
   if(value == null)
    return null;
   if(value instanceof String){
    String tmp = (String) value;
    if(tmp.trim().length() == 0)
     return null;
    else{
     try {
      return format.parse(tmp);
     } catch (ParseException e) {
      e.printStackTrace();
     }
    }
   }else
    throw new ConversionException("not String");
   return value;
}

}

DateConvert date = new DateConvert("yyyy-MM-dd");
   Object obj = ConvertUtils.convert("2009-11-11", java.util.Date.class);
   System.out.println(obj);
   Object obj3 = ConvertUtils.convert("2009-11-11", java.sql.Date.class);
   System.out.println(obj3);
   Object obj1 = ConvertUtils.convert("false", Boolean.class);
   System.out.println(obj1);
   Object obj2 = ConvertUtils.convert("12.34",Double.class);
   System.out.println(obj2);
    //注册时内部机制是以java.util.Date.class为健,Convert类为值存储
   ConvertUtils.register(date, java.util.Date.class);
   System.out.println(ConvertUtils.convert("2009-11-11", java.util.Date.class));

第一感觉好像这个东东的用法跟struts2中的convert类型转换有点相似,跟踪了源码发现后面的实现并没有用到这个包.

3.ConvertUtils VS DateUtils
假如DateUtils是你自己写关于Date的相关工具类,这个于common-beanutils包的ConvertUtils 你到底会选哪种方式使用呢?
我的看法是DateUtils之类的工具类从使用方面来看,里面方法全是些静态方法确实比ConvertUtils要方便,ConvertUtils类可以说是一个类型的管理类,上面的例子中也看的出来,你可能自定义许多实现了Convert接口的实现类,然后注册到ConvertUtils来管理,他的使用的范围要更广一些,不光只有时间类型的,其它类型的均可。
分享到:
评论

相关推荐

    commons-beanutils-1.9.3.jar

    在实际项目中,Apache Commons BeanUtils库通常与其他Apache Commons库结合使用,如Collections、IO等,以提供更全面的工具集。它的使用能够大大提高开发效率,减少代码重复,使得代码更加专注于业务逻辑,而不是...

    commons-beanutils所有版本(1.0-1.9.2).zip

    Apache Commons BeanUtils是Java开发中的一个实用工具库,它提供了对JavaBeans属性操作的强大功能,极大地简化了在Java...对于Java开发者来说,理解和掌握Apache Commons BeanUtils库的使用是提高开发效率的重要一步。

    commons-beanutils-1.9.3

    - `commons-beanutils-1.9.3-tests.jar`包含了测试代码,这些测试用例展示了如何使用BeanUtils进行各种操作,同时也可以帮助验证库的正确性。 - `commons-beanutils-1.9.3-sources.jar`包含了源代码,开发者可以查看...

    commons.collections-3.2.1和commons-beanutils-1.9.2和commons.collections-3.2.1

    Commons Collections和Apache BeanUtils是Java开发中常用的两个库,它们为开发者提供了丰富的工具类和功能,使得处理集合对象和Bean属性变得更加便捷。这两个库在Java Web开发中扮演着重要角色,尤其是在构建MVC框架...

    commons-beanutils-1.9.4-src.zip

    主要的类和接口位于`org.apache.commons.beanutils`包下。例如,`BeanUtils`是核心类,`PropertyUtils`提供了更高级的属性操作,`ConvertUtils`负责类型转换,而`BeanComparator`则用于基于Bean属性的比较。 在阅读...

    commons-beanutils-1.8.0-BETA.zip

    《Apache Commons BeanUtils 1.8.0-BETA:深入解析与应用》 Apache Commons BeanUtils 是一个流行的Java库,它提供了对JavaBeans属性的简便操作。在Java开发中,BeanUtils库极大地简化了对象属性的获取和设置,使得...

    commons-beanutils-1.8.3.jar

    Apache Commons BeanUtils的核心功能在于提供了一种直观且易于使用的API,用于JavaBean对象之间的数据绑定和属性操作。以下是对这个库的一些关键知识点的深入解析: 1. **属性访问**:BeanUtils提供了`getProperty...

    commons-beanutils 源码

    Apache Commons BeanUtils是Java开发中广泛使用的工具库,主要用于处理JavaBean对象的属性操作。这个库的核心功能在于简化了JavaBean对象的属性设置、获取以及复制等操作,使得开发者能够更加方便地进行数据绑定和...

    commons-beanutils-1.6.zip

    这个"commons-beanutils-1.6.zip"文件包含了Apache Commons BeanUtils库的1.6版本,这是一个早期但仍然广泛使用的版本。在这个版本中,开发者可以找到一系列用于简化JavaBeans操作的类和方法。 Apache Commons ...

    commons-beanutils快速封装form表单数据包

    而`commons-beanutil.txt`可能是一个包含使用示例、API文档或者关于这个包的说明文本。 总的来说,Apache Commons BeanUtils是Java开发中的利器,能够帮助开发者减少代码量,提高代码质量,特别是在处理表单数据与...

    -beanutils-1.9.4.zip

    3. **线程安全:** Commons BeanUtils库本身是线程安全的,但在多线程环境下使用时,需要注意自己的代码设计,避免因共享对象引起的并发问题。 4. **错误处理:** 调用BeanUtils的方法时,最好使用try-catch语句...

    commons-beanutils

    9. **与其他Apache Commons库的集成**: BeanUtils可以很好地与其他Apache Commons库结合使用,如Collections(用于集合操作)、Lang(用于通用语言工具),增强了Java代码的功能和可读性。 10. **最佳实践**: 在...

    commons-beanutils中文API.pdf

    Apache Commons BeanUtils 是一个流行的 Java 库,它提供了一组方便的工具方法,主要用于简化JavaBean的操作。在v1.7版本中,这个库包含了对JavaBean的多种操作支持,包括属性的读取、写入,以及数据类型的转换。它...

    beanutils-1.8.3

    Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于简化对象属性的操作,它与JavaBeans组件一起使用,提供了大量的便利方法。"beanutils-1.8.3" 是该库的一个版本,它包含了1.8.3版的API文档和源代码...

    Commons BeanUtils包说明

    Apache Commons BeanUtils是Java开发中一个非常实用的工具包,它简化了对象属性之间的操作,提供了大量的静态方法来处理Bean对象。这个包的核心思想是基于JavaBeans规范,即具有getter和setter方法的对象,使得...

    commons-lang-2.1.tar.gz

    Apache Commons Lang 是一个Java语言工具包,包含了大量用于处理日常编程任务的实用工具类。这个压缩包"commons-lang-2.1.tar.gz"是Apache Commons Lang项目的一个具体版本,即2.1版本。Apache Commons Lang提供了对...

    Apache commons jar包常用类讲解--Jakarta Commons 学习.pdf

    commons.beanutils包 - **BeanUtils**:提供了复制Bean属性、调用方法等方法。 - **BeanUtilsBean**:扩展了`BeanUtils`的功能。 - **PropertyUtils**:提供了访问Bean属性的工具方法。 - **PropertyUtilsBean**:...

    beanutils-1.9.3jar包

    这个"beanutils-1.9.3.jar"包是Apache Commons BeanUtils库的一个特定版本,版本号为1.9.3,它包含了所有在该版本中实现的功能和修复的bug。 BeanUtils库的核心功能在于其提供的方法,能够简化JavaBean对象的操作。...

    BeanUtils工具类

    在Java开发中,BeanUtils工具类是Apache Commons项目的一个重要组成部分,主要负责处理Java Bean对象之间的属性复制,提供了便捷的数据绑定功能。对于那些正在学习如何使用Java连接MySQL的初学者来说,了解并掌握...

    beanUtils jar 包,还包括source和doc

    在Java开发中,BeanUtils是一个非常重要的工具包,尤其在处理对象属性的复制、设置和获取时,它的存在极大地提高了开发效率。BeanUtils是Apache Commons项目的一部分,它提供了一系列方便实用的方法,帮助开发者轻松...

Global site tag (gtag.js) - Google Analytics