Java中的equsals和==
Java的equsals和==
前言:在我們常用的類中equals被重寫后,作用就是為了比較對象的內(nèi)容,==是比較對象的內(nèi)存地址。但并不能說所有的equals方法就是比較對象的內(nèi)容。
1、Java 中的==
1).對于對象引用類型:“==”比較的是對象的內(nèi)存地址。
比如說:
String s1 = "Hello";
String s2 = new String ("Hello");
System.out.println(s1 == s2);(false)
我們知道在使用new String時,會重新創(chuàng)建一個String對象,因此,自然s1和s2引用是指向兩個不同的地方,因此顯示為false.
2).對于基本類型數(shù)據(jù)(int,double等),其實(shí)比較的是它的值。
2、Java 中equals方法
1).equals是基本數(shù)據(jù)的包裝類型Integer,Float, Double等常用類具有的方法,它(這里為Integer類)的作用,在官方給的(Integer)文檔中,說的就是:進(jìn)行對象間的比較,只有在滿足判斷條件,Integer所含的值和本對象的值相同時才會返回true。、
簡單來說,就是同類型,所含值相同即返回true.
Integer底層實(shí)現(xiàn)的時候用的是Integer.intValue();將兩個對象之間的比較變成了基本數(shù)據(jù)類型的值比較。

2).但是,在最底層Object類中,equals方法和==是沒有區(qū)別的。我們比較的還是兩個對象的內(nèi)存地址。

眾所周知,我們所有的類都直接或間接地繼承自java.lang.Object類,因此我們可以通過重寫equals方法來實(shí)現(xiàn)我們自己想要的比較方法。之所以我們平常在用equals時,都是在比較對象中的值,是因?yàn)閷quals進(jìn)行了重寫,讓他去進(jìn)行對象中的值比較(如最后上面的Integer類)。
所以我們也不能說,equals比較的就一定是對象的內(nèi)容。根據(jù)業(yè)務(wù)邏輯的不同,是能夠衍生出更多不同方法的
以上就是Java的equsals和==的詳細(xì)內(nèi)容,更多關(guān)于equsals和==的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
org.apache.zookeeper.KeeperException.BadVersionException異常的解
在使用Apache ZooKeeper進(jìn)行分布式協(xié)調(diào)時,你可能會遇到org.apache.zookeeper.KeeperException.BadVersionException異常,本文就來介紹一下解決方法,感興趣的可以了解一下2024-03-03
Java使用Apache POI庫讀取Excel表格文檔的示例
POI庫是Apache提供的用于在Windows下讀寫各類微軟Office文檔的Java庫,這里我們就來看一下Java使用Apache POI庫讀取Excel表格文檔的示例:2016-06-06
Java實(shí)現(xiàn)NIO聊天室的示例代碼(群聊+私聊)
這篇文章主要介紹了Java實(shí)現(xiàn)NIO聊天室的示例代碼(群聊+私聊),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
詳解如何在Spring Boot項(xiàng)目使用參數(shù)校驗(yàn)
本篇文章主要介紹了如何在Spring Boot項(xiàng)目使用參數(shù)校驗(yàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
使用Springboot注入帶參數(shù)的構(gòu)造函數(shù)實(shí)例
這篇文章主要介紹了使用Springboot注入帶參數(shù)的構(gòu)造函數(shù)實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
java:無法訪問org.springframework.boot.SpringApplication的解決方法
這篇文章主要給大家介紹了關(guān)于java:無法訪問org.springframework.boot.SpringApplication的解決方法,文中通過實(shí)例代碼將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
Java中HashSet和HashMap的區(qū)別_動力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java中HashSet和HashMap的區(qū)別_動力節(jié)點(diǎn)Java學(xué)院整理,需要的朋友可以參考下2017-04-04

