2013-03-20 60 views
1

我有方法,我移動類型對象(在這段時間類型對象是類型字符串) 我想投它來輸入日期我該怎麼做。 當我使用下面的代碼我收到錯誤:爲返回類型拋出字符串日期錯誤-ClassCastException

java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date 

代碼:

} else if (typeName.equals("Date")) { 

    return new SwitchInputType<Date>((Date) memberValue); 

回答

1

像這樣的東西應該工作:

final SimpleDateFormat parsedDate = new SimpleDateFormat("yyyy-MM-dd"); 

final Date date; 
try{ 
    date = parsedDate.parse(stringValue); 
} catch(Exception e) { 
    // handle the exception. 
} 
1

How to parse a date?

SimpleDateFormat parserSDF=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date date = parserSDF.parse(memberValue); 
+0

我已經試過你的代碼,並收到此錯誤:在類型日期格式的方法解析(字符串)不適用(Object) – 2013-03-20 07:01:45

+0

Date date = parserSDF.parse((String)memberValue); – user1121883 2013-03-20 07:02:29

1

你不能簡單地投下StringDate。要從String對象獲得Date,該對象的String表示形式爲Date,請使用SimpleDateFormat

E.g:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //Change format according to your needs. 
Date date = new Date(); 
try{ 
    date = sdf.parse((String)memberValue); //Update:- memberValue.toString() will also work. 
}catch(ParseException pe){ 
    //Do something on Exception. 
} 
return new SwitchInputType<Date>(date); 
+0

我曾試過你的代碼,但即時通訊在解析錯誤:date = sdf.parse(memberValue);錯誤是:DateFormat類型中的方法parse(String)不適用於參數(Object),任何想法? – 2013-03-20 06:59:01

+0

這意味着memberValue的類型爲「Object」而不是「String」,因此您需要將您的'memberValue'強制轉換爲'String'。但在此之前,你可以告訴'memberValue'中存在什麼值? – SudoRahul 2013-03-20 07:00:47

+0

是的我寫的成員值是對象,現在它作爲字符串represted值2012-12-03 – 2013-03-20 07:04:35

1

如果它是一個字符串,你需要分析它。嘗試使用適當格式的SimpleDateFormat。

1

嘗試創建像這樣的新日期對象Date date = new Date(long)或者如果您使用Date類創建此字符串,請使用其靜態方法Date.valueOf(String s)

1

在分配給日期之前,您應該先將字符串轉換爲日期對象。使用SimpleDateFormat.parse()方法將字符串解析爲Date對象。

1

您可以使用:

return new SwitchInputType<Date>(new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(memberValue)); 
+0

我用你的代碼和即時通訊得到這個錯誤:他的方法解析(字符串)類型DateFormat不適用於參數(對象),任何想法? – 2013-03-20 07:00:10

+0

然後menmberValue不是一個String類對象。你能驗證嗎? – 2013-03-20 07:03:36

相關問題