-
== 是栈中的值比较
如果是基本类型来说,比较的是值是否相等;如果是引用类型,那么比较的就是对象引用地址是否相等(往往比较的是不是同一个堆中的对象)
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...