亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java==和equals的區別總結

2024-07-14 08:43:56
字體:
來源:轉載
供稿:網友

在 Java 中 == 和 equals 的區別,感覺只有很少的人能才完全說正確。

常見的錯誤回答就是:== 基礎類型對比的是值是否相同,引用類型對比的是引用是否相同;而 equals 則是比較的值是否相同。

至于為什么說它是錯的,看完本文對 == 和 equals 的解讀,你就知道了。

1、== 解讀

對于基本類型和引用類型 == 的作用效果是不同的,如下所示:

基本類型:比較的是值是否相同;引用類型:比較的是引用是否相同;

代碼示例:

String x = "string";String y = "string";String z = new String("string");System.out.println(x==y); // trueSystem.out.println(x==z); // falseSystem.out.println(x.equals(y)); // trueSystem.out.println(x.equals(z)); // true

代碼解讀:因為 x 和 y 指向的是同一個引用,所以 == 也是 true,而 new String()方法則重寫開辟了內存空間,所以 == 結果為 false,而 equals 比較的一直是值,所以結果都為 true。

2、equals 解讀

equals 本質上就是 ==,只不過 String 和 Integer 等重寫了 equals 方法,把它變成了值比較??聪旅娴拇a就明白了。

首先來看默認情況下 equals 比較一個有相同值的對象,代碼如下:

class Cat {  public Cat(String name) {    this.name = name;  }   private String name;   public String getName() {    return name;  }   public void setName(String name) {    this.name = name;  }} Cat c1 = new Cat("王磊");Cat c2 = new Cat("王磊");System.out.println(c1.equals(c2)); // false

輸出結果出乎我們的意料,竟然是 false?這是怎么回事,看了 equals 源碼就知道了,源碼如下:

public boolean equals(Object obj) {    return (this == obj);}

原來 equals 本質上就是 ==。

那問題來了,兩個相同值的 String 對象,為什么返回的是 true?代碼如下:

String s1 = new String("老王");String s2 = new String("老王");System.out.println(s1.equals(s2)); // true

同樣的,當我們進入 String 的 equals 方法,找到了答案,代碼如下:

public boolean equals(Object anObject) {  if (this == anObject) {    return true;  }  if (anObject instanceof String) {    String anotherString = (String)anObject;    int n = value.length;    if (n == anotherString.value.length) {      char v1[] = value;      char v2[] = anotherString.value;      int i = 0;      while (n-- != 0) {        if (v1[i] != v2[i])          return false;        i++;      }      return true;    }  }  return false;}

原來是 String 重寫了 Object 的 equals 方法,把引用比較改成了值比較。

3、總結

總體來說,== 對于基本類型來說是值比較,對于引用類型來說是比較的是引用;而 equals 默認情況下是引用比較,只是很多類重寫了 equals 方法,比如 String、Integer 等把它變成了值比較,所以一般情況下 equals 比較的是值是否相等。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人天堂噜噜噜| 91成人在线视频| 日韩美女写真福利在线观看| 亚洲综合中文字幕68页| 久久91亚洲精品中文字幕奶水| 国产亚洲免费的视频看| 久久久久久久久久久免费| 亚洲精品在线看| 亚洲人a成www在线影院| 亚洲天堂日韩电影| 日韩免费观看在线观看| 精品国产31久久久久久| 国产精品18久久久久久首页狼| 91福利视频在线观看| 欧美在线一区二区视频| 国产精品99久久99久久久二8| 亚洲在线视频观看| 亚洲a在线观看| 亚洲视频在线观看视频| 一本一本久久a久久精品综合小说| 国产精品视频白浆免费视频| 国产91|九色| 日韩成人av网址| 国产成人久久精品| 欧美成人免费va影院高清| 91超碰caoporn97人人| 中文字幕9999| 国产精品一区二区三区成人| 国产日韩欧美另类| 美日韩丰满少妇在线观看| 奇米影视亚洲狠狠色| 亚洲国产日韩欧美在线99| 亚洲一区二区免费| 欧美极品少妇与黑人| 中文字幕在线国产精品| 亚洲自拍另类欧美丝袜| 亚洲最新av在线网站| 国产精品第10页| 欧美日韩成人精品| 日韩成人av在线| 日韩电影中文字幕在线观看| 色噜噜狠狠狠综合曰曰曰| 国产精品免费一区| 国产精品白嫩初高中害羞小美女| 日韩美女视频在线观看| 久久久精品视频在线观看| 永久免费看mv网站入口亚洲| 日韩电影大全免费观看2023年上| 亚洲香蕉在线观看| 国内成人精品一区| 亚洲成人av资源网| 欧美一区二区三区四区在线| 久久综合伊人77777尤物| 成人a级免费视频| 久久久久久久网站| 久久91亚洲精品中文字幕奶水| 久久久精品国产亚洲| 国产成人亚洲综合青青| 精品成人国产在线观看男人呻吟| 欧美成人黑人xx视频免费观看| 国产精品爱啪在线线免费观看| 国产精品va在线播放| 蜜臀久久99精品久久久无需会员| 欧美一级片免费在线| 国产精品美女www爽爽爽视频| 亚洲加勒比久久88色综合| 国产精品www| 欧美激情视频免费观看| 精品国产一区二区三区久久久| 亚洲国产精品一区二区久| 亚洲国产精品视频在线观看| 尤物九九久久国产精品的特点| 福利一区福利二区微拍刺激| 亚洲精品自在久久| 日韩电影网在线| 久久91精品国产91久久跳| 法国裸体一区二区| 超碰97人人做人人爱少妇| 亚洲成人av片在线观看| 中文字幕亚洲欧美一区二区三区| 中文字幕日韩精品在线| 欧美性猛xxx| 亚洲自拍偷拍视频| 欧美激情乱人伦| 成人啪啪免费看| 国产精品久久久久久久久久三级| 日韩人体视频一二区| 国产一区二区精品丝袜| 国产精品6699| 欧美性猛交xxxxx水多| 最近2019中文字幕第三页视频| 亚洲精品女av网站| 日韩欧美在线免费| 成人欧美一区二区三区在线湿哒哒| 精品视频久久久| 精品国产一区二区三区久久狼黑人| 午夜精品一区二区三区在线| 国产精品爽黄69| 91po在线观看91精品国产性色| 一本大道亚洲视频| 亚洲成人在线网| 午夜精品99久久免费| 91理论片午午论夜理片久久| 伊人久久大香线蕉av一区二区| 亚洲视频一区二区三区| 亚洲最大的网站| 精品中文字幕在线观看| 亚洲www永久成人夜色| 久久久亚洲欧洲日产国码aⅴ| 成人午夜在线观看| 久久久久久久久久国产精品| 韩国福利视频一区| 欧美国产欧美亚洲国产日韩mv天天看完整| 日韩中文字幕在线视频播放| 日韩福利伦理影院免费| 精品国产老师黑色丝袜高跟鞋| 久热精品视频在线观看| 色噜噜久久综合伊人一本| 69精品小视频| 91国语精品自产拍在线观看性色| 91社区国产高清| 日韩电视剧在线观看免费网站| 国产精品av网站| 亚洲成人黄色网址| 成人激情视频在线观看| 久久久91精品| 成人免费淫片aa视频免费| 97精品国产97久久久久久免费| 日韩av最新在线观看| 在线日韩欧美视频| 日韩中文字幕不卡视频| 热99久久精品| 一区二区三区四区在线观看视频| 日韩经典中文字幕| 精品久久久在线观看| 国产精品美女av| 亚洲视频在线观看网站| 91香蕉嫩草影院入口| 日日骚av一区| 亚洲免费成人av电影| 成人欧美在线观看| 91大神在线播放精品| 欧美贵妇videos办公室| 久久亚洲精品毛片| 8090成年在线看片午夜| 毛片精品免费在线观看| 国产成人在线精品| 日韩欧美精品在线观看| 亚洲一区美女视频在线观看免费| 91国偷自产一区二区三区的观看方式| 精品亚洲夜色av98在线观看| 精品中文字幕在线2019| 亚洲国产欧美一区二区三区久久| 久久久97精品| www.久久久久久.com| 久久久国产91| 亚洲美女在线观看| 欧美国产日韩中文字幕在线| 日韩高清有码在线| 免费91在线视频| 亚洲影院色无极综合| 国产乱肥老妇国产一区二| 91探花福利精品国产自产在线| 国产精品吹潮在线观看|