黑马程序员技术交流社区
标题: ConvertUtils的转换问题,求大神帮忙 [打印本页]
作者: 葛奎 时间: 2012-11-12 17:46
标题: ConvertUtils的转换问题,求大神帮忙
@Test
public void test3() throws Exception{
String birthday="1983-12-1";
//为了让日期赋值到bean的birthday属性上,给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"));
}
作者: 罗忠文 时间: 2012-11-25 20:37
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);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |