BeanUtils中自己做一个日期转换器

由于

ConvertUtils.register(new DateLocaleConverter(),Date.class);这个转换器有局限性没有对空字符串进行处理,这是我们就要自己做一个日期的转换器
 //注册一个日期转换器
        ConvertUtils.register(new Converter(){
            public Object convert(Class type, Object value) {
                if(value==null)
                    return null;
                if(!(value instanceof String)){
                    //这样是给人看的,不提倡,上一层不知道
                    //System.out.println("不转");
                    //正确的做法
                    throw new ConversionException("只支持String转换");
                }
                //通过了上边的两关说明是String,
                //判断是不是""
                String str=(String)value;
                if(str.trim().equals("")){
                    return null;
                }
                SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
                try {
                    return df.parse(str);
                } catch (ParseException e) {
                    throw new RuntimeException(e);//异常链不能断
                }
            }
        }, Date.class);
posted @ 2016-04-26 20:40  戒。  阅读(179)  评论(0编辑  收藏  举报