Я создания веб-приложений с использованием Java EE (хотя моя проблема более Java на основе)Collections.sort не сортировать
В Servlet, я получаю список заказов от EJB. В этом списке заказов есть список состояний для этого заказа (отправлено, на док-станцию, не получено ...)
Я хочу отсортировать этот список состояний по дате состояния. Поэтому я использую Collections.sort так:
for (Command c : commands) {
c.getStateList().sort(new Comparator<State>() {
@Override
public int compare(State o1, State o2) {
return o1.getStateDate().compareTo(o2.getStateDate());
}
});
c.getStateList().sort(Collections.reverseOrder());
}
request.setAttribute("commands", commands);
Но когда я показываю результаты, состояния не сортируются.
Я попытался отменить заказ, как вы можете видеть, но он не работает.
Как вы можете видеть, я заменил Collections.sort на ListIWantToSort.sort. Все еще не работает.
Любые идеи о том, почему это не работает или как я могу его починить?
EDIT: Вот геттер для списка и его создание экземпляра:
@OneToMany(cascade = CascadeType.ALL, mappedBy = "ciiCommande")
private List<Etat> etatList;
@XmlTransient
public List<Etat> getEtatList() {
return etatList;
}
List<Commande> commandes = new ArrayList<Commande>();
И я получаю мои команды с помощью метода FindAll.
Чтобы отобразить их, я использую это:
<c:forEach items="${commandes}" var="cmd">
<td>${cmd.etatList[0].codeStatut.libelleSituation}</td>
</c:forEach>
Что возвращает 'c.getEtatList()'? –
@ LutzHorn он возвращает список состояний, принятый заказом. – trichetriche
Все ли в 'getEtatList()' реализует интерфейс 'Comparable'? – npinti