JAVA認證開源技術:關於Java的物件equals方法
在學習JAVA認證過程中,每個人會遇到每個人不同的問題,或小或大,下面yjbys小編為大家分享的是關於JAVA的物件equals方法,希望對大家學習JAVA有幫助!
不是所有的equals都是比較整個物件的。
#1.普通Object類:
先看原始碼:
public boolean equals(Object obj) {
return (this == obj);
}
看到了沒,用"==",比較的是物件引用,也就是地址。假如兩個物件傳入的引數一樣,但是都用new去建立,地址就不同了,那麼用equals返回的'就是false.
#ng類:
先看原始碼:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = count;
if (n == t) {
char v1[] = value;
char v2[] = e;
int i = offset;
int j = et;
while (n-- != 0) {
if (v1[i++] != v2[j++])
return false;
}
return true;
}
}
return false;
}
比較的是內容,所以只要內容一樣,用new去建立的兩個String物件,呼叫equals返回true.
#ger類
先看原始碼:
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj)。intValue();
}
return false;
}
一樣是比較內容。
-
Java考試格林練習試題
question6)whichofthefollowingarekeywordsorreservedwordsinjava?1)if2)then3)goto4)while5)casequestion7)whichofthefollowingarelegalidentifiers1)2variable2)variable23)_whatavariable4)_3_5)$anothervar6)#myvarquestion8)whatwillhappenwhenyoucompil...
-
Java main方法經典面試題及答案
本文是yjbys小編認為比較經典的關於Javamain方法的面試題,與其說是Java面試題,其實也是Java的一些最基礎知識問題,分享給大家,希望對大家面試有所幫助!1.不用main方法如何定義一個類?不行,沒有main方法我們不能執行Java類。在Java7之前,你可以通過使用靜態初始化執行...
-
Java高階工程師試題
Sun認證Java程式設計師考試內容涉及Java所有相關知識、程式設計概念及applet開發技巧。下面是關於Java高階工程師試題,希望大家認真做題!一、Java基礎1.String類為什麼是final的。2.HashMap的原始碼,實現原理,底層結構。3.說說你知道的幾個Java集合類:list、set、queue、map...
-
最全的java隨機數生成演算法
java隨機數生成演算法是怎麼樣的?下面yjbys小編為大家分享最新最全的java隨機數生成演算法,希望對大家學習有所幫助!一個最全的隨機數的生成演算法,最程式碼的找回密碼的隨機數就是用的這個方法:1Stringpassword=rateString(10);原始碼如下:001package;002003importom;004005...