我已經閱讀了一些關於自定義Arrays.sort和大量使用Google的教程,但我錯過了答案。現在Arrays.sort(charList)什麼都不做。這是我的代碼的樣子。Java中的自定義對象數組排序不分類
public class character implements Comparable<character>{
//public vars
public String charName;
public int initModifier;
public int initRoll;
public int secondInit;
/* ... getters, setters, other vars .. */
@Override
public int compareTo(character another) {
int compareInit = ((character) another).getTotalInit();
int comp = this.totalInit - compareInit;
int compareSecondInit = ((character) another).getTotalInit();
if (comp != 0)
{
return comp;
}
else
{
return this.secondInit - compareSecondInit;
}
}
}
主要活動是一捆東西。處理陣列的部分如下:
//add a character to the array.
public void addResults(character c)
{
debugInt++; //using this to debug
if(debugInt==3)
{
Log.d(tag,charList[0].charName); //always prints the first object entered
Log.d(tag,charList[1].charName); //always prints the second object entered
}
if (playersPerTurn<charLimit)
{
charList[playersPerTurn]=c;
Arrays.sort(charList,0,playersPerTurn);
playersPerTurn++;
updateDisplay();
}
}
幫助我所以,你是我唯一的希望。
您是否嘗試過測試'compareTo()'創建幾個'字符並打印出比較結果? – 2012-03-23 20:53:27
感謝您的想法。我正在加載的數據不會在那裏給我一個答案,但我沒有考慮這個測試。 – Billdr 2012-03-24 02:35:06