java中“==” 与 equals 区别
来源:互联网 发布:java免费发送短信插件 编辑:程序博客网 时间:2024/06/08 13:33
首先这是一个很经典的例子,我们可以编写一个简单的例子如下:
有上述例子我们可以知道,“==”是比较的我们数据地址,而equals则比较的是数据内容,a==b,因为a,b为常量在常量池中为同意数据块,所以相等,a1,b1是不同对象,在堆中存储在不同区域,地址不同,所以a1 == b1为false ,那么有些就奇怪了,为什么person equals比较为false呢?此时我们就应该看其原理,person调用的是object equals方法,那么object equals是怎么比较的呢?如下:
由源码我们可以知道,它比较的也是地址,但是a1.equals(b1)就不一样了,在Stirng重写了此方法:
有以上可知,Stirng的比较是获取值之后比较每一个字符,所以a1.equals(b1)为true.
阅读全文
0 0
- java中“==”与equals区别
- java中equals与==区别
- Java中"equals()"与"=="区别
- Java中equals()与==区别
- Java中equals与==区别
- java中“==” 与 equals 区别
- 【java中==与equals的区别】java中==与equals的区别
- java中equals与==的区别
- java中equals() 与==的区别
- java中“==”与“equals”的区别
- java中“==”与“equals”的区别
- Java中==与equals的区别
- java中equals与==的区别
- java中equals与==的区别
- Java中== 与 equals的区别
- java中== 与equals的区别
- java中==与equals的区别
- java中==与equals的区别
- MFC学习笔记8 对话框与程序连接
- Mysql批量操作2(批量删除)
- Netty—基本使用介绍
- Java InstanceOf 和C# is
- 第7次C练习
- java中“==” 与 equals 区别
- 数组和链表的区别
- 第一次学习总结
- (二)Android官方MVVM框架实现组件化之ARouter串联各模块
- LightOJ
- 一个菜鸟的前端之路
- bootstrap引入插件无效
- Javascript——布尔值、关系运算符、逻辑运算符
- Unity3D -- 平台宏定义