简单明了理解java中的“==”和“equals”的区别
来源:互联网 发布:网络作家收入100排行榜 编辑:程序博客网 时间:2024/06/05 19:41
在java中,首先我们理解基本数据类型和引用数据类型。
所谓基本数据类型,就是数据的值直接存储在内存的栈空间,不存在“引用”的概念,有8种基本数据类型,byte(1个字节),boolean(1个字节),char(2个字节,在C语言中是1个字节),short(2个字节),int(4个字节),floar(4个字节),double(8个字节),long(8个字节)。
所谓引用数据类型,就是都继承java的根父类,object类,引用对象的首地址存储在内存中栈空间,而对象的值存储在内存的堆空间。
关于“==”的理解
在8中基本数据类型中,比较的数据的值是否相等,如下图
而在引用数据类型中,比较的是内存中首地址是否相等,由于new出来的对象在堆上开辟了两个独立的空间,地址也当然是不同的,所以返回false。
关于“equals”的理解
在java中,equals本质上是一个返回布尔值的方法,如果一个类没有自己定义equals方法,那么它将继承Object类的equals方法,Object类的equals方法的实现代码如下:
boolean equals(Object o){
return this==o;
}
利用equals比较八大包装对象(如int,float等)和String类(因为该类已重写了equals和hashcode方法)对象时,默认比较的是值,在比较其它自定义对象时都是比较的引用地址。
阅读全文
0 0
- 简单明了理解java中的“==”和“equals”的区别
- C# 中的 == 和 equals()有什么区别?/java中==和equals和hashCode的理解
- Java中的equals和==和equalsIgnoreCase()的区别
- 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区别
- 树和二叉树的应用
- ffmpeg+SDL2 实现简单播放器
- 怎样才能赚到钱系列(二)
- 设计模式之工厂模式
- HDU
- 简单明了理解java中的“==”和“equals”的区别
- LeetCode 560 Subarray Sum Equals K
- SSM综合项目实战(TTSC) -- day12 购物车
- [BZOJ2440][中山市选2011]完全平方数(二分+容斥)
- web.xml之context-param,listener,filter,servlet加载顺序及其周边
- 微服务应用概念整理
- #java#对十个到多个数进行排序
- 前端案例-原生javascript开发打气球小游戏
- 【HTML+JavaScript+CSS】动画,特效