equals练习2

package com.li.toStringExercise;


public class equalsExercise2 {
    public static void main(String[] args) {
        Student student1 = new Student(1,"Li");
        Student student2 = new Student(1,"Li");
        System.out.println(student1.equals(student2));
    }
}
class Student{
    private int number;
    private String name;

    public Student(int number, String name) {
        this.number = number;
        this.name = name;
    }

    public Student() {
    }

//    这是编译器自动生成的,但是在初学的时候还是自己手动敲这些equals代码比较好
/*    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Student)) return false;
        Student student = (Student) o;
        return number == student.number && Objects.equals(name, student.name);
    }*/
    public boolean equals(Object o){
//        if后边带return了,那么就可以不用写else语句了,因为如果if成立就直接跳出了,
//        如果不成立,就直接执行后边的了,有没有else一样
//        如果o是空,那么o也不是Student类型,不用加o == null了
        if(!(o instanceof Student) )
            return false;
        if (this == o)return true;
            Student student1 = (Student) o;
//            对于字符串的比较就单纯的吧==换成了.equals()
            return number == student1.number && this.name.equals(student1.name);
    }
}
posted @ 2021-09-20 13:36  better_tomorrow  阅读(23)  评论(0)    收藏  举报