设为首页 加入收藏

TOP

Java中的Comparable接口
2016-12-12 08:15:22 】 浏览:6505
Tags:Java Comparable 接口

类对象之间比较“大小”往往是很有用的操作,比如让对象数组排序时,就需要依赖比较操作。对于不同的类有不同的语义。如Student类,比较2个学生对象可以比较他们的score分数来评判。


Java不支持预算符重载,我们通过实现Comparable接口达到相同的目的。当类实现了Comparable接口,则认为这个类的对象之间是可比较的。


Comparable是java SDK中的一个内置的泛型接口。


源代码:(很简单,只有规定了一个接口方法)


public interface Comparable {
public int compareTo(T o);


//按照规定:如果 this 比 o 小,则返回一个负数,如果 this 比 o 大,则返回正数,否则返回0



}


例子


public class Test {



public static void main(String[] args) {


Student[] students = { new Student("bob", 90.0) , new Student("jack", 89.0),new Student("mary", 99.0)};


Arrays.sort(students);

for(Student s:students)
System.out.println(s);


}
}



class Student implements Comparable
{



Student(String name,double score)
{
this.name = name;
this.score = score;
}

private double score;
private String name;



@Override
public int compareTo(Student o) {

return Double.compare(this.score, o.score);    //借用Double包装类本身的compare方法
}

@Override
public String toString() {

return String.format("name:%s score:%f", name,score);
}
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java中的类继承到底继承了什么? 下一篇Java中的interface 接口

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目