私は好奇心が強いです。コンパレータが各 アプリケーションのエントリをシャッフルする理由は何ですか?奇妙な振る舞い: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スタート
1つの回答で述べたように
コンパレータは、実際にカスタムオブジェクトを比較連絡先
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()メソッドが何をしているかを詳しく見ていきます。例えば、オブジェクトのシリアルIDをリストするだけかもしれません。 –