equals() 和 == 的区别

2018-09-25  本文已影响0人  灼灼其华_b157

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

   这里输出的结果肯定是true

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

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

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

没有重写时输出都为false

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

上一篇下一篇

猜你喜欢

热点阅读