- /*@Override
- public boolean equals(Object obj) {//equals原本比较的是对象的地址值,如果是同个对象就返回true,否则返回false,由于比较的类型是不同个对象,但是内容
- //相同,则为视为同个对象,原本的equals不符合需求所以必须重写。
- //提高效率
- if(this == obj){//如果是同个对象,直接返回true,如果不是同个对象有
- return true;//两可能,是同个类或者不是同个类,
- }
- //提高健壮性
- if (!(obj instanceof Student)) {//如果obj不属于这个类,就直接返回False,属于这个类就运行下个语句比较对象里面的内容
- return false;
- }
- //向下转型
- Student s = (Student) obj;//因为传进来的是Obj类型,所以必须向下转型。
- return this.name.equals(s.name) && this.age == s.age;//比较具体内容,s.name是对象用equals比较,值用==比较
- }
- */
复制代码 |