1.对于比较基本类型(int ,long ,float ,double)只能用==,比较的是栈中的值
这里输出的结果肯定是true2.对于String类型,==比较的是内存地址,equals()比较的是内容(值)
用String直接创建变量时,c1,c2的地址都在常量池,所以地址和值都相同,都返回true
3.对于比较对象,== 和equals()比较的都是堆中的地址,但是我们一般都会在类中重写equals()方法
没有重写时输出都为falsejava中equals()是存在Objiect类中,在Objict类中的equals()方法是基于==的,都是用于比较对象的地址,重写之后equals比较输出true
网友评论