Мне любопытно. Что может быть причиной того, что компаратор перемещает записи в каждом запуске приложения ?Странное поведение: Java Comparator рандомизирует записи списка
final static class ContactsListComparator implements Comparator
{
public int compare(Object o1, Object o2)
{
if((o1.toString().compareTo(o2.toString()))<0)
{
return -1;
}
if((o1.toString().compareTo(o2.toString()))>0)
{
return 1;
}
else
{
return 0;
}
}
}
Первый App Начало:
Второй App Start
Как уже упоминалось в одном ответ
Компаратор фактически сравнивает пользовательский объект Контакт
public class Contact
{
// Members
private String _contactFirstName;
private String _contactLastName;
private long _contactLastModified;
// Constructor
public Contact()
{
set_contactLastModified();
}
public Contact(String contactFirstName)
{
_contactFirstName = contactFirstName;
set_contactLastModified();
}
// Accessable Getters
public String get_contactFirstName()
{
return _contactFirstName;
}
public String get_contactLastName()
{
return _contactLastName;
}
public long get_contactLastModified()
{
return _contactLastModified;
}
public void set_contactLastModified()
{
_contactLastModified = System.currentTimeMillis();
}
}
больше кода необходимо. Как вы использовали этот компаратор? – Pierre
Я бы внимательно посмотрел, что делает метод toString(). Он может, например, просто перечислить серийный идентификатор объекта. –