1.为什么我并未重写equals方法,教程equals和==的源码源码结果就已经不一样了?
2.equals()和==到底有什么区别啊?
为什么我并未重写equals方法,equals和==的教程结果就已经不一样了?
一张简图讲解当使用==为false就是因为创建的是两个对象,在堆内存中是源码源码两个不一样的地址,对于引用类型,教程lav 不能源码==只是源码源码源码泄漏事件比较引用地址是否一样,这里显然0x不等于0x
但通过equals的教程方法,因为String重写过了。源码源码代码如下:
public boolean equals(Object anObject) {
if (this 教程== anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
比较的是内容是否一样。一样所以是源码源码ture
但如果String s1 = "abc";
String s2 = "abc";
使用==结果就是true,因为引用的教程地址是一样的,内容必然一样。源码源码
equals()和==到底有什么区别啊?
1、教程nacos源码打包功能不同"=="是源码源码判断两个变量或实例是不是指向同一个内存空间。
"equals"是教程判断两个变量或实例所指向的内存空间的值是不是相同。
2、定义不同
"equals"在JAVA中是石头石器源码一个方法。
"=="在JAVA中只是一个运算符合。
例子:
Student student1 = new Student();
Student student2 = new Student();
System.out.println(student1.equals(student2));
System.out.println(student1 == student2);
3、运行速度不同
"=="比"equals"运行速度快,因为"=="只是花瓣php源码比较引用。
"equals"比"=="运行速度要慢。
扩展资料
equals()方法特点:
1、自反性:x.equals(x)返回true;
2、对称性:若x.equals(y)为true,则y.equals(x)亦为true;
3、传递性:若x.equals(y)为true且y.equals(z)也为true,则x.equals(z)亦为true;
4、一致性:x.equals(y)的第一次调用为true,那么x.equals(y)的第二次、第三次、第n次调用也均为true,前提条件是没有修改x也没有修改y;
5、对于非空引用x,x.equals(null)永远返回为false。
参考资料:百度百科-equals2024-12-24 09:032100人浏览
2024-12-24 08:24283人浏览
2024-12-24 08:191093人浏览
2024-12-24 07:33370人浏览
2024-12-24 07:222105人浏览
2024-12-24 07:15288人浏览
香港文匯報記者 郭正謙)爭取英超衛冕的曼城目前打少一場下落後榜首利物浦5分,重奪「一哥」寶座成為「藍月兵團」下半季首要目標。本港時間14日凌晨作客紐卡素,曼城誓要全取3分為在英超的2024年首場比賽打
西洋萬聖節不少人會奇裝異服變身打扮,美國一名男童扮成薯條,賺到了速食業者提供一年免費薯條;紐約的萬聖節遊行,則有人扮成通膨物價高漲,搭配時事;而全球首富馬斯克也穿上約合台幣24萬的皮盔甲超霸氣,世界級
美股道瓊大漲400多點,這次帶頭的不是科技股,有什麼利多嗎?台灣景氣燈號轉綠燈,下半年有什麼變數呢?