A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 葛奎 中级黑马   /  2012-11-12 17:46  /  1192 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

@Test
       public void test3() throws Exception{
              String birthday="1983-12-1";              
              //为了让日期赋值到beanbirthday属性上,给beanUtils注册一个日期转换器
              //ConvertUtils.register(converter, clazz);
              ConvertUtils.register(new Converter(){                     
                     public Object convert(Class type, Object value) {
                            if(value==null) return null;
                            if(!(value instanceof String)){
                                   throw new ConversionException("只支持String类型的转换");
                            }
                            String str=(String)value;
                            if(str.trim().equals("")) return null;
                            SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd",Locale.US);
                            try {
                                   return df.parse(str);
                            } catch (ParseException e) {
                                   throw new RuntimeException(e);               
                            }
                     }
              }, Date.class);

             为什么在ConvertUtils里面写入birthday的转换程序就能实现转换了。我觉得它也没有和person里的birthday有直接关系啊。好像是个独立的!麻烦哪位大神告诉我他的原理?
               Person p=new Person();
              BeanUtils.setProperty(p, "birthday", birthday);
              System.out.println(p.getBirthday());//pw
              System.out.println("___"+BeanUtils.getProperty(p, "birthday"));
       }

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

1 个回复

正序浏览
import java.text.SimpleDateFormat;
import java.util.Date;

public class DataAndString {

        /**
         * @param args
         * @throws Exception
         */
        public static void main(String[] args) throws Exception {
                 String data="2008-03-14";
               SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
               Date date=(Date) df.parse(data);
            System.out.println(date);
        }

}

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 有文字说明就好了

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马