一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 詳解Java中“==”與equals()的區(qū)別

詳解Java中“==”與equals()的區(qū)別

2020-08-02 11:58java教程網(wǎng) Java教程

這篇文章主要介紹了詳解Java中“==”與equals()的區(qū)別的相關(guān)資料,需要的朋友可以參考下

Java中“==”與equals()的區(qū)別

 對于關(guān)系操作符“==”,《Java編程思想》中是這樣描述的:“關(guān)系操作符生成的是一個boolean結(jié)果,它們計算的是操作數(shù)的值之間的關(guān)系”。這里的操作數(shù)的“值”值得我們注意。對于8種基本數(shù)據(jù)類型(boolean,byte,char,short,int,float,double,long),它們的變量直接存儲的就是“值”。所以,我們用“==”對基本數(shù)據(jù)類型的變量進行比較時,實際比較的就是變量存儲的值,例如:

?
1
2
3
4
public static void main(String[] args) {
    int a = 5, b = 5;
    System.out.println(a == b);
  }

很明顯,程序?qū)⑤敵觯簍rue。但是,下面這段代碼呢?

?
1
2
3
4
public static void main(String[] args) {
    Integer c = new Integer(5), d = new Integer(5);
    System.out.println(c == d);
  }

我們運行程序,發(fā)現(xiàn)輸出的是:false。這是因為Integer并非Java中的基本數(shù)據(jù)類型,其變量c、d在Java中被稱為指向?qū)ο蟮囊茫浯鎯Φ?ldquo;值”是對象在內(nèi)存中的地址,而非值“5”本身。所以,c和d實際存儲的分別是兩個value值都為“5”的Integer對象的地址,這兩個對象不在同一塊內(nèi)存空間,“==”比較的結(jié)果自然是false了。

  那么equals()方法比較的是什么呢?equals()是基類Object中定義的方法,在Object類中,equals()方法定義為:

?
1
2
3
public boolean equals(Object obj) {
    return (this == obj);
  }

這等價于“==”。其實,equals()方法的意義在于重寫,否則對equals()的調(diào)用是沒有意義的。例如,繼承自O(shè)bject的Integer類便重寫了equals()方法:

?
1
2
3
4
5
6
public boolean equals(Object obj) {
    if (obj instanceof Integer) {
      return value == ((Integer)obj).intValue();
    }
    return false;
  }

該方法的意義是對value值進行比較,那么如果我們對于兩個具有相同value值的Integer對象調(diào)用equals()進行比較:

?
1
2
3
4
public static void main(String[] args) {
    Integer c = new Integer(5), d = new Integer(5);
    System.out.println(c.equals(d));
  }

結(jié)果便是true。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 肉文高h文| 毛片视频网站在线观看 | 性鸥美 | 四虎现在的网址入口2022 | 热久久天天拍天天拍热久久2018 | 娇女的呻吟亲女禁忌h16 | 222aaa精品影院 | 亚洲国产欧美日韩在线一区 | 美女扒开奶罩让男人吃奶 | 成人精品区 | 精品久久久久久综合网 | 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | 欧美精品1区 | 亚洲第一网站免费视频 | 国产91 最新 在线 | 欧美贵妇vs高跟办公室 | 国产精品天天影视久久综合网 | 欧美性黑人巨大gaysex | 成年视频在线观看免费 | 国产精品成人va在线观看 | 欧美大片一区二区 | 日本免费播放 | 日韩毛片免费 | 俄罗斯一级毛片免费播放 | 国产精品国色综合久久 | 女仆色网址 | 午夜福利试看120秒体验区 | 荡女淫春2未删减版 | 91国内精品久久久久影院优播 | 97涩色| 亚洲色图色 | 久久国产精品高清一区二区三区 | 日本在线观看免费高清 | 日韩精品一区二区三区中文在线 | 福利视频一区青娱 | 欧美精品日韩一区二区三区 | 欧美高清日韩 | 狠狠综合网 | 国产自在线拍 | japanhd粗暴video| 免费高清www动漫视频播放器 |