java中==和equals区别
转自:
http://www.java265.com/JavaCourse/202204/3161.html
比较相等,是日常开发中必不可少的一种操作,那么两种相等有什么不同呢?
如:有时候需比较两个对象是不是同一个对象,有时候需比较两个对象中的值是否一致
下文笔者讲述java中==和equals区别简介说明,如下所示:
==: 基本数据类型直接比较值 引用类型比较引用内存的首地址 equals: 通常比较堆中内容是否相同
例:
Integer b1 =new Integer (888); Integer b2 =new Integer (888); b1==b2 //false b1.equals(b2) == true //true String s1 = "java265.com"; String s2 = "java265.com"; s1==s1 //true 由于s1,s2的值均存放在常量池中 s1,s1在栈中存放常量池中位置相同