“==”与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。
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。
相关文章推荐
- 权限设计,以及使用优秀的权限框架shiro整合SpringMVC
- LeetCode OJ 121 Best Time to Buy and Sell Stock
- 链表之求链表倒数第k个节点
- 推送通知(远程推送)(服务器PushMeBaby)(iOS SDK)(JPush)
- 服务端数据库和程序的版本不一致
- 知名博客地址
- android项目的结构和布局
- MongoDB的备份(mongodump)与恢复(mongorestore)
- 支持gif的图片预览控件
- 广播两种注册类型的区别
- JAVA调用易信接口向指定好友推送消息(一)背景需求
- 数塔2(dp)
- *自定义布局的Toast和Dialog
- ATPDraw v5.7 1CD电力电路仿真模拟软件
- 支持gif的图片预览控件
- ATPDraw v5.7 1CD电力电路仿真模拟软件
- Tutorial: Loading and parsing external XML and JSON files with Unity
- 程序员跳槽神级攻略
- SYSAUX表空间大于33G问题处理
- redis(二)--命令