欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何進(jìn)行equals()方法和==異同的比較-創(chuàng)新互聯(lián)

如何進(jìn)行equals()方法和==異同的比較,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、威信網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、威信網(wǎng)絡(luò)營(yíng)銷、威信企業(yè)策劃、威信品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供威信建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:chinadenli.net

equals()方法是Object類的方法,所有的類都集成了此方法,還有部分類重寫了這個(gè)方法,我們看一下Object類中關(guān)于該方法的的源碼:

  1.     public boolean equals(Object obj) {

  2.         return (this == obj);

  3.     }

可以知道,凡事從Object中繼承的equals()方法底層使用的都是==,也就是兩者比較的都是地址值。
我們?cè)賮碚f一下String,這個(gè)類復(fù)寫了equals()方法,源碼如下:

  1.     public boolean equals(Object anObject) {

  2.         if (this == anObject) {

  3.             return true;

  4.         }

  5.         if (anObject instanceof String) {

  6.             String anotherString = (String)anObject;

  7.             int n = value.length;

  8.             if (n == anotherString.value.length) {

  9.                 char v1[] = value;

  10.                 char v2[] = anotherString.value;

  11.                 int i = 0;

  12.                 while (n-- != 0) {

  13.                     if (v1[i] != v2[i])

  14.                         return false;

  15.                     i++;

  16.                 }

  17.                 return true;

  18.             }

  19.         }

  20.         return false;

  21.     }

該方法中,首先用==比較,如果兩者地址值相同,就返回true,如果地址值不相同,再判斷字符串內(nèi)容是否相同,如果相同,返回值也是true,我們可以做一個(gè)實(shí)驗(yàn):

  1. class equalsTest{

  2.         public static void main(String[] args){

  3.                 String a = "abc";

  4.                 String b = "abc";

  5.                 String c = new String("abc");

  6.                 sop(a==b);         //true

  7.                 sop(a.equals(b));  //true

  8.                 sop(a==c);         //false

  9.                 sop(a.equals(c));  //true

  10.         }

  11.         

  12.         public static void sop(Object o){

  13.                 System.out.println(o);

  14.         }

  15. }

這個(gè)實(shí)驗(yàn)中,變量a和b底層默認(rèn)啟動(dòng)的享元設(shè)計(jì)模式,指向的都是“abc”這個(gè)字符串對(duì)象,所以地址值相同,而語(yǔ)句new String("abc")底層創(chuàng)建的是兩個(gè)對(duì)象,所以c的地址值和a,b不同,用==判斷的結(jié)果為false,但是c指向的字符串內(nèi)容與a是相同的,所以用equals()判斷的結(jié)果為ture。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

分享文章:如何進(jìn)行equals()方法和==異同的比較-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://chinadenli.net/article22/deiijc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、Google、網(wǎng)站營(yíng)銷、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司