@Override
public int compareTo(Object t)
{
if(t instanceof Student)
{
Student s = (Student)t;
return (this.name.compareTo(s.name));
}
else
return -1;
}
Run Code Online (Sandbox Code Playgroud)
这是我根据名称compareTo比较两个Student对象的方法实现.是否可以根据多个字段比较两个这样的对象,即名称和年龄?
Boh*_*ian 15
是的,但首先您应该键入您正在实施的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));
}
}
Run Code Online (Sandbox Code Playgroud)
注意如何使用类型化接口Comparable<Student>而不是原始类型Comparable,不需要强制转换.
| 归档时间: |
|
| 查看次数: |
38930 次 |
| 最近记录: |