Приведение исключения в методе даты сортировки - PullRequest
0 голосов
/ 20 января 2012

У меня есть список "unSortedDateList", в котором даты хранятся в формате CSV. даты хранятся в следующем формате (ММ / ДД / ГГГГ) 1/10/2012, 2/10/2011, 1/9/2011 * (примечание: ДАТЫ ХРАНЯТСЯ, КАК РАЗДЕЛЕННАЯ КОММАЗИЯ) *

Я написал функцию, которая берет эти даты из списка, сортирует их в 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();

Программа выдает исключение приведения.

Не могли бы вы помочь мне, что я здесь делаю неправильно?

Ответы [ 3 ]

2 голосов
/ 20 января 2012

Почему бы не отсортировать список с помощью

Collections.sort(unsortedDateList) 

непосредственно

2 голосов
/ 20 января 2012

Вы помещаете длинное значение в поле даты. Это должно потерпеть крах.

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

но ваша карта Date

TreeMap<Date, Date> sortedMap
1 голос
/ 20 января 2012

цитирование документации Java для SE6:

values ​​() возвращает представление Collection значений, содержащихся в этой карте.

Не возвращает List:список - это коллекция, но обратное не обязательно верно.

РЕДАКТИРОВАТЬ: в следующий раз укажите трассировку стека и точную строку, где произошла ошибка.

...