Java中==與equals的區(qū)別小結(jié)
public class Compare { /** * == 與 equals()區(qū)別 */ public static void main(String[] args) { String s1 = new String("Hello,World!"); //創(chuàng)建兩個(gè)String型對(duì)象引用; String s2 = new String("Hello,World!"); String s3 = s1; //將s1對(duì)象引用賦予s3 System.out.println("s2==s3的運(yùn)算結(jié)果為:" + (s2==s3)); //地址不一樣 System.out.println("s1==s3的運(yùn)算結(jié)果為:" + (s1==s3)); //地址一樣 System.out.println("s2.equals(s3)的運(yùn)算結(jié)果為:"+(s2.equals(s3)));//內(nèi)容一樣 } }
s2==s3的運(yùn)算結(jié)果為:false
s1==s3的運(yùn)算結(jié)果為:true
s2.equals(s3)的運(yùn)算結(jié)果為:true
總結(jié):
== 與 equals()比較的內(nèi)容是不同的,equals()方式是String類中的方法,它用于比較兩個(gè)對(duì)象引用所指的內(nèi)容是否相等;而 == 比較的是兩個(gè)對(duì)象引用的地址是否相等。由于s1與s2是兩個(gè)不同的對(duì)象引用,兩者在內(nèi)存中的位置不同,而String s3 =s1語(yǔ)句,將s1的引用賦給s3,所以s1與s3這兩個(gè)對(duì)象引用是相等的。
相關(guān)文章
java實(shí)現(xiàn)Dijkstra最短路徑算法
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)Dijkstra最短路徑算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01springboot + mybatis-plus實(shí)現(xiàn)多表聯(lián)合查詢功能(注解方式)
這篇文章主要介紹了springboot + mybatis-plus實(shí)現(xiàn)多表聯(lián)合查詢功能,是最簡(jiǎn)單的一種注解方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Java設(shè)計(jì)模式之創(chuàng)建者模式詳解
這篇文章主要介紹了Java設(shè)計(jì)模式之創(chuàng)建者模式詳解,創(chuàng)建者模式,顧名思義,就是提供友好的創(chuàng)建對(duì)象的方式?,對(duì)象都是?new?出來(lái)的,但是在一些情況下,這種方式不是很友好,首先,它不夠直觀,需要的朋友可以參考下2023-08-08SpringBoot動(dòng)態(tài)Feign服務(wù)調(diào)用詳解
Feign是Netflix公司開(kāi)發(fā)的一個(gè)聲明式的REST調(diào)用客戶端; Ribbon負(fù)載均衡、 Hystrⅸ服務(wù)熔斷是我們Spring Cloud中進(jìn)行微服務(wù)開(kāi)發(fā)非?;A(chǔ)的組件,在使用的過(guò)程中我們也發(fā)現(xiàn)它們一般都是同時(shí)出現(xiàn)的,而且配置也都非常相似2022-12-12在spring?boot3中使用native?image的最新方法
這篇文章主要介紹了在spring?boot3中使用native?image?,今天我們用具體的例子來(lái)給大家演示一下如何正確的將spring boot3的應(yīng)用編譯成為native image,需要的朋友可以參考下2023-01-01