Arrays.sortのカスタマイズに関するチュートリアルを読んだことがありますが、私は答えが不足しています。今すぐ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;
}
}
}
主なアクティビティは、一連のものです。 arrays.sortを扱う部分は次のとおりです。
//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()をテストしましたか? –
アイデアをありがとう。私がロードしていたデータは、私に答えを与えてくれませんでしたが、私はこのテストを検討していませんでした。 – Billdr