博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 中equals 与 == 的区别:
阅读量:6340 次
发布时间:2019-06-22

本文共 352 字,大约阅读时间需要 1 分钟。

值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。

==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。

equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

==比较的是2个对象的地址,而equals比较的是2个对象的内容。

显然,当equals为true时,==不一定为true;

API里的类大部分都重写了equals方法,没有重写的一般是自己写的类,

 如果是你自己定义的一个类,比较自定义类用

equals和==是一样的,都是比较句柄地址,因为自定义的类是继承于object,而object中的equals就是用==来实现的,你可以看源码。

转载地址:http://tchoa.baihongyu.com/

你可能感兴趣的文章
今天的学习
查看>>
面试必问之JVM原理
查看>>
mysql主主同步+Keepalived
查看>>
研究音频编解码要看什么书
查看>>
tomcat远程调试配置
查看>>
QuartZ Cron表达式
查看>>
性能测试工具VTune的功能和用法介绍
查看>>
音频视频组件Audio DJ Studio for .NET更新至v10.0.0.0丨附下载
查看>>
Pig的输入输出及foreach,group关系操作
查看>>
TechParty - Code For Public - sz
查看>>
emacs 前端插件推荐[emmet-mode]
查看>>
dnsmasq配置文件
查看>>
Unity链接SqlServer数据库并进行简单的数据查询
查看>>
23种设计模式
查看>>
原生javascript学习:用循环改变div颜色
查看>>
ABBYY FineReader 12内置的自动化任务
查看>>
ab 测试 和 apache 修改 并发数 mpm
查看>>
Nginx 的软件负载均衡详解
查看>>
TIMED OUT WAITING FOR OHASD MONITOR
查看>>
过滤器
查看>>