A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xzy645181797 中级黑马   /  2016-4-22 11:45  /  270 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        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分的时候 比较不出来 请教一下 这个问题该怎么解决

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马