java中的Comparable接口

发布时间:2017-6-23 18:21:57 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"java中的Comparable接口 ",主要涉及到java中的Comparable接口 方面的内容,对于java中的Comparable接口 感兴趣的同学可以参考一下。

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

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

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

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

public interface Comparable<T> {   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>{        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);    }

上一篇:linux下notify机制(仅用于内核模块之间的通信)
下一篇:HDU 5735 Born Slippy(拆值DP+位运算)

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。