- 相關(guān)推薦
JAVA認(rèn)證開源技術(shù):關(guān)于Java的對象equals方法
在學(xué)習(xí)JAVA認(rèn)證過程中,每個人會遇到每個人不同的問題,或小或大,下面yjbys小編為大家分享的是關(guān)于Java的對象equals方法,希望對大家學(xué)習(xí)JAVA有幫助!
不是所有的equals都是比較整個對象的。
#1.普通Object類:
先看源碼:
public boolean equals(Object obj) {
return (this == obj);
}
看到了沒,用"==",比較的是對象引用,也就是地址。假如兩個對象傳入的參數(shù)一樣,但是都用new去創(chuàng)建,地址就不同了,那么用equals返回的就是false.
#2.String類:
先看源碼:
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)建的兩個String對象,調(diào)用equals返回true.
#3.Integer類
先看源碼:
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj)。intValue();
}
return false;
}
一樣是比較內(nèi)容。
【JAVA認(rèn)證開源技術(shù):Java的對象equals方法】相關(guān)文章:
SUN JAVA認(rèn)證介紹12-18
sun java認(rèn)證報考指南03-08
java認(rèn)證考試培訓(xùn)內(nèi)容03-27
sun認(rèn)證java程序員須知Java日志框架03-30
sun認(rèn)證java基礎(chǔ)模擬試題03-30
java認(rèn)證考試試題及答案03-04
2016年Java認(rèn)證考試題03-08