的implimention問題基本上,我有2類。其中一個具有私有成員ArrayList(來自其他類的對象),並且列表中的每個對象都有一個私有字段點。我有一個方法遍歷列表並獲得所有點的總和。所以我只想比較list1> list2的總和點數。但我沒能做到這一點 - 我的compareTo()返回始終爲0與的compareTo()方法
這裏就是一個簡短的代碼示例。
public class StudentsGroup implements IFile, Comparable {
private List<Student> studentsList = new ArrayList<Student>();
public int compareTo(Object o) {
if(StudentsGroup.getTotalPoints(studentsList) < ((StudentsGroup)o).getTotalPoints(studentsList))
return 1;
else if(StudentsGroup.getTotalPoints(studentsList) > ((StudentsGroup)o).getTotalPoints(studentsList))
return -1;
else
return 0;
}
public static int getTotalPoints(List<Student> studentsList1) {
int totalPoints = 0;
for(Student o : studentsList1) {
totalPoints += o.getStudentPoints();
}
return totalPoints;
}
}
的方法
你dedugged看你比較什麼?你是否真的在studentsList中有條目? – Stultuske
@Stultuske,是的,我喜歡。我從.txt文件的構造函數中初始化它,並在列表中添加學生類的對象。我說,實際的方法是工作,當我打印出來的totalPoints,但問題是,list1.compareTo(列表2)總是返回0,彷彿列表總是由點相等,他們不是。 – meitriksx