TreeSet<Student> ts = new TreeSet<>(new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
int num = s2.getSum() - s1.getSum(); // 比较学生总成绩
return num == 0 ? 1 : num;
}
});
当TreeSet集合中传入学生对象 然后按照 学生对象的总分排序 当我把学生成绩定义成int类型的时候 上面的比较器没问题 但是如果我把学生成绩都定义成float 那s2.getSum() - s1.getSum(); 这一步就不能用int 接收 而该用float。那么问题来了
方法的返回值要是一个int数 我需要强转s2.getSum() - s1.getSum(),把float 转成int 而在转换过程中 很有可能把0.5这个值弄掉了 也就是当学生总成绩只差0.5分的时候 比较不出来 请教一下 这个问题该怎么解决
|
|