-
== 是栈中的值比较
如果是基本类型来说,比较的是值是否相等;如果是引用类型,那么比较的就是对象引用地址是否相等(往往比较的是不是同一个堆中的对象)
Object 源码中equals
public boolean equals(Object obj) { return (this == obj); }
-
equals是逻辑内容上的比较;
String 源码中equals
public boolean equals(Object anObject) { // 对象引用相同直接返回 true if (this == anObject) { return true; } // 判断需要对比的值是否为 String 类型,如果不是则直接返回 false if (anObject instanceof String) { String anotherString = (String)anObject; int n = value.length; if (n == anotherString.value.length) { // 把两个字符串都转换为 char 数组对比 char v1[] = value; char v2[] = anotherString.value; int i = 0; // 循环比对两个字符串的每一个字符 while (n-- != 0) { // 如果其中有一个字符不相等就 true false,否则继续对比 if (v1[i] != v2[i]) return false; i++; } return true; } } //如果不是String类型,则直接返回false return false; }
==和equals有什么区别
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 一,equals和"==" java当中的数据类型和“==”的含义: 基本数据类型(也称原始数据类型) :byte...
- == 和equals() 比较结果不同的原因 ======================= 对于这个问题,可以帮...
- 1、== java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型 byte,short,char,...
- Java 中 equals 和 == 的区别和联系 概述 相等操作符== ==是一种操作符,比较左右操作数的值是否...
- 本文采用总分总的小学生写作手法较为深入地探究了“==”与“equals()”的区别 :-) 概括 用途:equal...