Java重写equals方法时,不要使用instanceof判断

    科技2022-07-15  139

    问题

    重写equals方法时,不要使用instanceof判断,为什么呢?

    解析

    因为当一个类的子类和他进行比较时,用instanceof方法也会返回true

    public class Manager extends Employee() {} public class Employee() {} public class Test(){ public static void main(String[] args) { Manager m = new Manager(); System.out.println(m instanceof Employee); } }

    那么就只用getClass的方法了

    public class Test(){ public static void main(String[] args) { Manager m = new Manager(); Employee e = new Employee(); System.out.println(m.getClass() == e.getClass()); } }

    完整equals重写规范

    Processed: 0.011, SQL: 8