@Override
public int compareTo(Object t)
{
if(t instanceof Student)
{
Student s = (Student)t;
return (this.name.compareTo(s.name));
}
else
return -1;
}
这是我的compareTo
比较两个的方法实现Student
根据对象的名称。是否可以根据多个字段(即姓名和年龄)比较两个此类对象?
是的,但首先您应该输入您正在实现的 Comparable 接口。它应该是这样的:
public class Student implements Comparable<Student> {
private int age;
private String name;
@Override
public int compareTo(Student s) {
if (name.equals(s.name))
return age - s.age;
return name.compareTo(s.name));
}
}
注意如何使用类型化接口Comparable<Student>
,而不是原始类型Comparable
,无需投射。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)