您的位置:首页 > 其它

“==”与equals的联系与区别

2015-10-19 12:33 253 查看
1.“==”比较变量对应的内存中的数值是否相等;要比较2个基本类型的数据或2个引用变量是否相等,只能用"=="操作符。

2.当变量指向的数据为对象类型时,会涉及到2块内存,对象本身占用的一个内存,变量占用一个内存。如一个Person类,Person p1 = new Person();p1与new Person()各占一块内存。p1所对应的内存中的数值就是对象占用的内存的首地址。所以,对于指向对象类型的变量,如果要比较它们是否指向同一对象,就要用“==”比较这两个变量所对应的内存中的数值是否相等。

3.举例:String a = new String("abc"); String b = new String("abc"); 若比较 a == b ,结果为false,因为a、b对象的首地址不同。又因为它们对象的内容相等,所以equals 比较为true。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: