黑马程序员技术交流社区
标题:
compareTo问题
[打印本页]
作者:
qmayuan
时间:
2013-8-3 19:49
标题:
compareTo问题
class Student implements Comparable<Student>
类实现了Comparable 接口 就要重写 compareTo方法
public int compareTo(Student s)
{
int num = Integer.parseInt(this.sum).compareTo(Integer.parseInt(s.sum));
//int num =new Integer(this.sum).compareTo(new Integer(s.sum));
if(num==0)
return this.name.compareTo(s.name);
return num;
}
重写的时候需要比较两个double类型的数据,但是compareTo只能比较Interger类型的数据 ,我要怎么改?求高手指导下~!
作者:
李润根
时间:
2013-8-3 22:05
什么类型都可以比较。直接改为Double.valueOf(str)
作者:
sergio
时间:
2013-8-3 22:33
支持这些引用类型的直接比较。改为Double就行。
作者:
天地有我
时间:
2013-8-4 12:56
本帖最后由 天地有我 于 2013-8-4 13:13 编辑
你的意思是传入如果sum(sum为String类型)相等,就以姓名来比较,如果不等,就以sum来比较。
作者:
天地有我
时间:
2013-8-4 12:56
本帖最后由 天地有我 于 2013-8-4 13:52 编辑
Double类也提供了一个compareTo方法
public int compareTo(Student s)
{
if( Double.parseDouble(this.sum).compareTo(Double.parseDouble(s.sum)) == 0)
{
return this.name.compareTo(s.name);
}
return Double.parseDouble(this.sum).compareTo(Double.parseDouble(s.sum));
}
作者:
lijia113
时间:
2013-8-6 21:11
自定义的比较器覆盖原来的比较方法,你使用 Double.parseDouble 就能够进行比较了
作者:
Maple_枫
时间:
2014-3-28 16:30
把double转型为int 就OK了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2