A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 励志Java_鸿政 中级黑马   /  2015-1-9 01:33  /  1800 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package cn.itcast.collection;

public class Student {
        private String name;
        private int age;
       
        public Student(String name,int age){
                this.age = age;
                this.name = name;
        }

        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;
        }
        //该对象的字符串表示形式(若不写该方法则输出的是一个地址)
        public String toString(){
                return "Student " + name +"..."+ age;
        }
==============================================
        //去除new对象的重复
        public boolean equals(Object obj){
                if(obj == null)
                        return false;
                if( this == obj)
                        return true;
                if(obj instanceof Student){
                        Student s = (Student)obj;
                        //比姓名和年龄,相同返回真,不同返回假  this s
                        return this.name.equals(s.name) && this.age == s.age;
                }
                return false;
        }
}

就是一个外部的学生类,然后===========下面的这些东西,我只知道是用来取出new出来一个对象这中重复的!但是还是不太理解!能不能有人帮我注释一下!谢啦:)
.

2 个回复

倒序浏览
equals 重写了这个比较方法。不是取出重复的意思,用来判断是不是同一个引用,比较的是地址,如果相同就返回真。下一个判断,如果是同一个父类,那么就判断他们的值,如果值相同,也返回真。清楚明白了吧
回复 使用道具 举报
潘耿威 发表于 2015-1-10 14:32
equals 重写了这个比较方法。不是取出重复的意思,用来判断是不是同一个引用,比较的是地址,如果相同就返 ...

还是有点儿不太理解~我知道取出不是new对象的重复,如果要取出new出来的重复就不会了 , 看了这个也看的不太懂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马