В моём приложении есть 4 вкладки с данными в списках. Для сортировки данных по времени добавления использую порядковые номера id объектов. В трёх вкладках даные сортируются верно, а в последней нет.
То есть вот такой код
Collections.sort(allMentorsList, new Comparator<OneMentorClass>() {
@Override
public int compare(OneMentorClass o1, OneMentorClass o2) {
return o2.getMentorID().compareTo(o1.getMentorID());
}
});
работает правильно и сортирует весь список данных, а идентичный
Collections.sort(allLawyersList, new Comparator<OneLawyerClass>() {
@Override
public int compare(OneLawyerClass o1, OneLawyerClass o2) {
return o2.getLawyerID().compareTo(o1.getLawyerID());
}
});
нет и упорядочивает объекты как будто по парам, то есть в первой паре id первого объекта больше чем второго, и во второй паре id первого объекта больше чем второго, но во второй паре может быть объект с id больше чем у объекта в первой паре. Как такое может быть?
Во всех объектах запрашиваются идентичными методами идентичные данные в идентичных форматах переменных.
Может быть глюк компиляции? Использую последнюю Android Studio с canary channel и gradle в бета версии.
P.S.
Классы похожие, отличные только названием переменных и их количеством (лишние переменные в примере убрал)
то есть объекты этого класса сортирует нормально
public class OneMentorClass {
private String mentorID;
public OneMentorClass(String mentorID) {
this.mentorID = mentorID;
}
public String getMentorID() {
return mentorID;
}
}
а объекты этого нет
public class OneLawyerClass {
private String lawyerID;
public OneLawyerClass(String lawyerID) {
this.lawyerID = lawyerID;
}
public String getLawyerID() {
return lawyerID;
}
ПРИМЕР СОРТИРОВКИ Collections.sort
правильная сортировка
получает на вход allMentorsList с объектами в таком порядке id
mentorID=19
mentorID=20
mentorID=21
mentorID=23
mentorID=24
mentorID=31
Даёт на выход allMentorsList с объектами в порядке убывания id
mentorID=31
mentorID=24
mentorID=23
mentorID=21
mentorID=20
mentorID=19
Неправильная сортировка
получает на вход allLawyersList с объектами в таком порядке id
lawyerID=6
lawyerID=8
lawyerID=18
lawyerID=21
Даёт на выход allLawyersList с объектами в таком порядке id
lawyerID=8
lawyerID=6
lawyerID=21
lawyerID=18