Java-API-Comparable

public class Person implements Comparable {

    private String name;
    private int age;
    
    public Person() {
        super();
    }
    public Person(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    
    /**
     * 建立了Person对象判断是否相同的依据。只要是同姓名同年龄就是同一个人
     * @param obj
     * @return
     */
    @Override
    public boolean equals(Object obj) {
        if(this == obj)
            return true;
        
        if(!(obj instanceof Person)){
            throw new ClassCastException("类型错误");
        }
        Person p = (Person)obj;
        
        return this.name.equals(p.name) && this.age == p.age;
    }
    /**
     * 比较年龄大小的方法。
     */
    
    
    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + "]";
    }
    @Override
    public int compareTo(Object o) {
        
        if(!(o instanceof Person)){
            throw new ClassCastException("类型错误");
        }
        
        Person p = (Person)o;
        /*
        if(this.age > p.age)
            return 1;
        if(this.age < p.age)
            return -1;
        return 0;*/
        return this.age - p.age;
        
    }
}

public class PersonDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        
        Person p1 = new Person("lisi", 20);
        Person p2 = new Person("wangcai", 23);
        
        System.out.println(p1.compareTo(p2));
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 注:解读只是自己暂时的浅见。 【译文】 1、万物发展都有一个度,过了就会转向反方向。这就教我们适可而止。 2、天道...
    吾宗老孙子阅读 183评论 0 0
  • 几日前,我来到苏州!这次外出是和以往不同的! 17年前我离开家乡求学,是为了改变命运给自己寻一条与我同龄却...
    浪迹天涯之草样年华阅读 251评论 0 0
  • 如果 你坐在我对面 我们一起坐在车厢里 列车在行驶 向我背对的方向急速行驶 那么 你就像是一直在朝我奔跑 却永远无...
    张筱涟阅读 378评论 3 7
  • 指的不是函数中特殊群体,而是指:所有函数都是一等对象 把函数视为对象 函数本身是 function 类的实例 可调...
    一块大番薯阅读 1,115评论 0 1
  • 渐渐长大,似乎要背负的东西越来越多了。以前好像没有那么重要的事情,在一夜之间都变得极其重要起来。好累。 睡前翻了两...
    公子F阅读 844评论 0 1

友情链接更多精彩内容