我有移动类型对象的方法(在这个时候类型对象是类型字符串) 我想把它转换为输入日期我应该怎么做。 当我使用以下代码时出现错误:
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date
代码:
} else if (typeName.equals("Date")) {
return new SwitchInputType<Date>((Date) memberValue);
答案 0 :(得分:1)
SimpleDateFormat parserSDF=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = parserSDF.parse(memberValue);
答案 1 :(得分:1)
答案 2 :(得分:1)
如果是字符串,则需要解析它。尝试使用具有适当格式的SimpleDateFormat。
答案 3 :(得分:1)
尝试创建像此Date date = new Date(long)
这样的新日期对象,或者如果使用Date类创建此字符串,请使用其静态方法Date.valueOf(String s)
。
答案 4 :(得分:1)
在分配给Date之前,您应该首先将字符串转换为日期对象。使用SimpleDateFormat.parse()方法将字符串解析为Date对象。
答案 5 :(得分:1)
您可以使用:
return new SwitchInputType<Date>(new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(memberValue));
答案 6 :(得分:1)
这样的事情应该有效:
final SimpleDateFormat parsedDate = new SimpleDateFormat("yyyy-MM-dd");
final Date date;
try{
date = parsedDate.parse(stringValue);
} catch(Exception e) {
// handle the exception.
}