zoukankan      html  css  js  c++  java
  • 运算符==和equals()方法

    1.运算符==

      (1)两个变量是基本数据类型,且都是数值类型(不一定要求数据类型严格相同),则只要两个变量的值相等,就返回true。

      (2)两个引用类型变量,只有当它们指向同一对象时,==才会返回true。==不能用于比较类型上没有父子关系的两个对象。

      (3)"hello"直接量和new String(“hello”)的区别

        

       (4)常量池

        用于管理在编译时被确定并被保存在已编译的 .class文件中的一些数据。它包括了关于类、方法、接口中的常量,还包括字符串常量。

       (5)JVM常量池管理字符串常量示例

      

     

    2.equals()方法

      equals 作为 Object 类的实例方法,所有引用变量都可以调用该方法来判断是否与其他引用变量相等,但此方法判断两个对象相等的标准与 == 并没有区别,因此 Object 提供的 equals() 方法意义不大,通过重写 equals 方法来实现想要实现的相等标准。

      (1)String对equals方法的重写

      

      (2)equals方法重写示例

     

       (3)较合理的重写示例

     说明:

    以上的程序重写了 Person 类的 equals方法,相等的标准是若两个 Person 对象的 idStr 相等,则两个对象相等。

     

       (4)重写equals方法要满足的条件:

    你还有很多未完成的梦,你有什么理由停下脚步
  • 相关阅读:
    最长回文子串 leetcode
    leetcode Plus one
    n的阶乘末尾有几个0?
    求两数的最大公约数和最小公倍数
    汉诺塔
    求n的阶乘
    svn book
    求斐波那契数列第n项
    判断一个数是否是素数
    <C Traps and Pitfalls>笔记
  • 原文地址:https://www.cnblogs.com/quanziheng/p/12165927.html
Copyright © 2011-2022 走看看