zoukankan      html  css  js  c++  java
  • 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第1节 Object类_3_重写Object类的equals方法


    现在要重写Object的equlas方法。比较两个对象的属性值。但是存在的问题是多态


    解决方法就是向下转型




    name和age相同,比较结果是true


    存在的问题,如果参数我传一个ArrayList。它也是Object的子类。那么参数强转为Person的类的话 就会报错。

    ArrayList强转为Person就会报错。



    增加判断,用instanceof判断类型

    这样如果传入的ArrayList那么就直接返回false ,并不会抛出异常。


    传递空值过去。null是引用类型的默认值

    增加if判断,如果是null直接返回false


    如果p1和p1比较
    增加一个判断,传递的参数obj 如果是this本身。直接返回true,提高程序的效率

    传自己直接返回true


     

    快捷键添加






    Alt+Insert

    选择next


    next--

    这是生成的代码





    下面来了解Objects.equals


     

  • 相关阅读:
    CF732 F Tourist Reform——边双连通分量
    CF36 E Two Paths——欧拉(回)路
    最小生成树()
    Bellman-Ford算法
    SPFA算法
    归并排序(Merge_Sort)
    并查集
    int(3)与int(11)的区别
    mysql应该看的blog
    mysql建立索引
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11226258.html
Copyright © 2011-2022 走看看