❶ 關於java中equal的使用方法
n1和n2是兩個變數,雖然他們的值都為100,但是它們在內存中的地址不一樣,而equals判頃野斷的是n1和n2兩個變數的地址值,所以不一樣。我根據你寫的程序把坦培n1和雀信喊n2的值列印出來了,你看下就知道了。
❷ Java中關於==和equal的區別 以及equals方法重寫
1.==是判斷兩個變數或實例是不是指向同一個內耐孫存空間
equals是判斷兩個變數或實例所指向的內存空早檔間的值是不是相同
2.==是指對內存地址進行比較
equals()是對字元串的內容進行比較
3.==指引用是否相同
equals()指的是值昌睜鏈是否相同
重寫equals:
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;
}
❸ java ==和equal()方法的用法問題
java中==比較的是地址,equal比較的是值。
示例:
Integera1=newInteger(456);//實例化一個對象
Integera2=newInteger(456);//實例化一個對辯世象
System.out.println(a1.equals(a2));//這里比較粗灶困的是值,都是456,結果是true
System.out.println(a1==a2);//這里比較的是地岩念址,因為是2個對象,所以地址不同,是false
❹ JAVA中,equal和==的區別是
一、比較對象為基本數據類伍者型(byte,short,char,int,long,float,double,boolean)
比較兩個基本數據類型是否相等用==,因為只有類才會有equals方法。
備註:String不是基本數據類型
二、比較對象為引用數據類型
euqals和==本質上都是比較比較的是兩個對象的引用(內存地址)是否相同。equals()是Object類的方法 ,object類納世是所有類的基類,所以每個類都會繼承equals()方法。
但在String,Integer,Date在這些類當中重寫了equals方法,而不再是比較對洞橘肢象在堆內存中的存放地址了,而是比較它們指向的實體(內容)是否相同。
❺ JAVA中的equal方法的格式和用法
java中的是equals,沒有equal,equals比較的是內容,只要值相同就是true。
如:
String str = new String("aaa");
String str1 = new String("aaa");
boolean bl = str.equals(str1);
結果就是:true。拍滾
備註:但是如果襲派余比較的是str==str1,這個結果就是false(地羨攔址引用不同)。
❻ Java中equal怎麼用
就是你自己定義一個字元串與equal(a)中的內容進行比較。例如
String s = " abc";
想知道你的s到底是不是「abc」你就可以這樣寫
s.equal("abc");
如歲核果是則返余型回true ,否則豎雀猜返回false
❼ java中equals和equal的區別
Java中equals和equal是兩個不同的方法,清並它們的作用也有所不同。
equals方法是Object類中定義的一個方法,用於比較兩個對象是否相等。在默認情況下,它比較的是兩個對象的地址是否相等,即它們是否指向同一個內存地吵正拆址。但是,我們可以通過重寫equals方法來自定義相等的規則,例如通過比較兩個對象的屬性值是否相等來判斷它們是否相等。
而equal是一個操作符,用於比較兩個基本數據類型的值是否相等。它可用於比較boolean、char、byte、short、int、long、float和double類型的值。當兩個基本數據類型的值相等時,equal返回true,否則返回false。
需要注意的是,如果我們在比較兩個字元串是否相等時使用equal操作符,可能會得到錯誤的結果。這是因為equal操作符比較的是兩個字元串對象的地址是否相等,而不是它們的內容是否相等。如果要比較兩個字元串對象的內容是否相等,應該使用equals方法。
在Java中,equals方法和==操作符是不升棗同的,==操作符比較的是兩個對象的地址是否相等,而equals方法比較的是兩個對象的內容是否相等。因此,我們應該根據實際情況選擇使用哪種方法來比較兩個對象或兩個基本數據類型的值。
需要注意的是,當我們重寫equals方法時,也需要同時重寫hashCode方法。這是因為在使用HashSet、HashMap等集合類時,它們是根據對象的hashCode值來進行存儲和查找的。如果兩個對象的equals方法返回true,但它們的hashCode值不同,那麼它們在HashSet、HashMap中將被認為是不同的對象,這可能會導致一些問題。
❽ java中a.equal("b")和b.equal("a")有什麼區別
a.equal("b")表示a這個string是否等於字元串b;
b.equal("a")表友叢桐示b這個string是否等於字元串a;
如果你是想要判定a和b兩個string對象是否相同,建議不要加括弧,寫成:
a.equal(b)和b.equal(a)這個比較好。好坦
a.equal(b)和b.equal(a)表達式表達的意思是一鄭薯樣的,都是為了判定a和b兩個string對象是否相同,但是,前者表示a對象不能為空,否則會報錯,後者表示b對象不能為空,否則報錯
❾ java中equals和equal的區別
equals()是object的方法,所以只是適合對象,不適合於基本類型洞銷坦,equals()默認是用"=="比較兩個對象的內存地址,如果想要比較兩個對象的內容,要重寫equals()方法才可。
equal:是用來比較兩個對象內部的內容是否相等的,由於所有的類都是繼承
自java.lang.Object類的,所以如果沒有對該方法進行覆蓋的話,調用
的仍然是Object類中的方法,而Object中的equal方納桐法返回的卻是==
的判斷,斗兄因此,如果在沒有進行該方法的覆蓋後,調用該方法是沒有
任何意義的。