2012-01-20 11 views
0

私は日付がCSVとして格納されているリスト "unSortedDateList"を持っています。 (:DATES COMMA区切り値としてストアされることに注意してください)は *ソート日付のキャスト例外メソッド

日付はフォーマット (MM/DD/YYYY) 2012年1月10日、2011年2月10日、2011年1月9日 * を以下に格納されています

私は、これらの日付をリストから取り出し、ASCでソートしてsortedListに格納する関数を作成しました。

TreeMap<Date, Date> sortedMap = new TreeMap<Date, Date>(); 

    for (Date theDate : unSortedDateList) 
    { 
     sortedMap.put(theDate.getTime(), theDate); 
    } 
    List<Date> sortedList = (List<Date>) sortedMap.values(); 

プログラムでキャスト例外がスローされています。

ここで間違っていることを教えてください。

+2

Stacktrace?データをDate型に解析しましたか?次に、Collections.sort(unsortedDateList)を使用することができます。 –

+0

theDate.getTime()はlongを返します –

+0

TreeMap.values()はListを返しません。コレクションを返します。必要に応じてキャストしない場合は、コレクションから新しいリストを作成します。 –

答えて

2

なぜ直接

Collections.sort(unsortedDateList) 

でリストをソートしませんか?

2

日付フィールドに長い値を入力しています。それはクラッシュする必要があります。

sortedMap.put(theDate.getTime(), theDate); //getTime() is long 

が、あなたのマップがSE6のためのJavaのマニュアルを引用Date

TreeMap<Date, Date> sortedMap 
+0

正解、私は日付に変更しました。まだそれは例外を投げる。 – Namita

+0

なぜ明らかに質問の要点ではないとき、人々はこれをアップコートするのですか? –

+0

@STT LCU スコアポイントではありません。コード内での問題の特定(尋ねられていなくても) – Namita

1

です:

値は()このマップに含まれる値のCollectionビューを返します。

リストを返しません:リストはコレクションですが、その逆は必ずしも真ではありません。

EDIT:次回は、スタックトレースと、エラーが発生した正確な行を入力してください。

関連する問題