精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

如何進行equals()方法和==異同的比較-創新互聯

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

成都創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于網站建設、網站設計、威信網絡推廣、微信小程序定制開發、威信網絡營銷、威信企業策劃、威信品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們大的嘉獎;成都創新互聯公司為所有大學生創業者提供威信建站搭建服務,24小時服務熱線:18982081108,官方網址:www.cdcxhl.com

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

  1.     public boolean equals(Object obj) {

  2.         return (this == obj);

  3.     }

可以知道,凡事從Object中繼承的equals()方法底層使用的都是==,也就是兩者比較的都是地址值。
我們再來說一下String,這個類復寫了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,如果地址值不相同,再判斷字符串內容是否相同,如果相同,返回值也是true,我們可以做一個實驗:

  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. }

這個實驗中,變量a和b底層默認啟動的享元設計模式,指向的都是“abc”這個字符串對象,所以地址值相同,而語句new String("abc")底層創建的是兩個對象,所以c的地址值和a,b不同,用==判斷的結果為false,但是c指向的字符串內容與a是相同的,所以用equals()判斷的結果為ture。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯-成都網站建設公司行業資訊頻道,感謝您對創新互聯的支持。


分享標題:如何進行equals()方法和==異同的比較-創新互聯
轉載注明:http://m.jcarcd.cn/article/deiijc.html
主站蜘蛛池模板: 亚洲无码在线观看a | 国产精品三区短视频 | 国产精品一区在线麻 | 精品在线观看一区 | 国产在线观看第二页 | 尤物tv| 国内外成人在 | 成人动漫3d在线 | 精品自拍视频 | 国产一区视频观看 | 欧洲亚洲一区二 | 91国产香蕉 | 欧美综合网 | 日本伦理片在线播放 | 欧美性活一级视频 | 岛国一本做视频 | 区一区二不卡 | 日韩精品系列产品 | 韩国视频一 | 欧美一级日韩精品 | 国产欧美网址 | 成人免费精品动 | 精品国产亚洲精品 | 国产精品拍天天在线 | 午夜性爱视频 | 蜜桃成熟 | 日韩不卡| 国产天堂五月丁香 | 国产情侣在视频 | 中文字幕综| 国产一区二区精品 | 国产极品尤物在线 | 成人午夜在线 | 国产做爰一区二区 | 日韩高清在线播放不 | 成人亚洲欧美综合 | 欧美在线免费观看 | 国产在线高清视频 | 精品福利影院 | 日韩欧美一卡二区 | 七十路熟女交尾hd |