我很好奇。比較器在每個 應用程序啓動時洗牌的原因是什麼?奇怪的行爲:Java比較器隨機化列表條目
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;
}
}
}
第一應用開始:
第二應用開始
作爲一個提到的答案
的比較實際上是一個比較自定義對象聯繫人
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 2009-07-12 14:44:55
我會仔細看看toString()方法的作用。例如,它可能只列出對象的序列標識。 – 2009-07-12 14:48:04