美文网首页
equals() 和 == 的区别

equals() 和 == 的区别

作者: 灼灼其华_b157 | 来源:发表于2018-09-25 23:48 被阅读0次

    1.对于比较基本类型(int ,long ,float ,double)只能用==,比较的是栈中的值

       这里输出的结果肯定是true

    2.对于String类型,==比较的是内存地址,equals()比较的是内容(值)

         用String直接创建变量时,c1,c2的地址都在常量池,所以地址和值都相同,都返回true

    3.对于比较对象,== 和equals()比较的都是堆中的地址,但是我们一般都会在类中重写equals()方法

    没有重写时输出都为false

    java中equals()是存在Objiect类中,在Objict类中的equals()方法是基于==的,都是用于比较对象的地址,重写之后equals比较输出true

    相关文章

      网友评论

          本文标题:equals() 和 == 的区别

          本文链接:https://www.haomeiwen.com/subject/nfsroftx.html