- 相關(guān)推薦
JAVA認(rèn)證開(kāi)源技術(shù):關(guān)于Java的對(duì)象equals方法
在學(xué)習(xí)JAVA認(rèn)證過(guò)程中,每個(gè)人會(huì)遇到每個(gè)人不同的問(wèn)題,或小或大,下面yjbys小編為大家分享的是關(guān)于Java的對(duì)象equals方法,希望對(duì)大家學(xué)習(xí)JAVA有幫助!
不是所有的equals都是比較整個(gè)對(duì)象的。
#1.普通Object類(lèi):
先看源碼:
public boolean equals(Object obj) {
return (this == obj);
}
看到了沒(méi),用"==",比較的是對(duì)象引用,也就是地址。假如兩個(gè)對(duì)象傳入的參數(shù)一樣,但是都用new去創(chuàng)建,地址就不同了,那么用equals返回的就是false.
#2.String類(lèi):
先看源碼:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = count;
if (n == anotherString.count) {
char v1[] = value;
char v2[] = anotherString.value;
int i = offset;
int j = anotherString.offset;
while (n-- != 0) {
if (v1[i++] != v2[j++])
return false;
}
return true;
}
}
return false;
}
比較的是內(nèi)容,所以只要內(nèi)容一樣,用new去創(chuàng)建的兩個(gè)String對(duì)象,調(diào)用equals返回true.
#3.Integer類(lèi)
先看源碼:
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj)。intValue();
}
return false;
}
一樣是比較內(nèi)容。
【JAVA認(rèn)證開(kāi)源技術(shù):Java的對(duì)象equals方法】相關(guān)文章:
JAVA認(rèn)證簡(jiǎn)介03-19
SUN JAVA認(rèn)證介紹12-18
JAVA認(rèn)證考試細(xì)則03-19
java認(rèn)證考試介紹03-19
JAVA認(rèn)證考試費(fèi)用03-19
怎樣獲得Sun Java認(rèn)證03-18
sun java認(rèn)證考試介紹03-19