当先锋百科网

首页 1 2 3 4 5 6 7

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

   这里输出的结果肯定是true

 

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

 

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

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

没有重写时输出都为false

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