成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

簡單介紹java中equals以及==的用法

瀏覽:210日期:2022-08-28 15:16:01

簡單介紹

equals方法是java.lang.Object類的方法有兩種用法說明:

一、對于字符串變量來說,使用“==”和“equals()”方法比較字符串時,其比較方法不同。

1、“==”比較兩個變量本身的值,即兩個對象在內存中的首地址。(java中,對象的首地址是它在內存中存放的起始地址,它后面的地址是用來存放它所包含的各個屬性的地址,所以內存中會用多個內存塊來存放對象的各個參數,而通過這個首地址就可以找到該對象,進而可以找到該對象的各個屬性)

2、“equals()”比較字符串中所包含的內容是否相同。

比如:

String s1,s2,s3 = 'abc', s4 ='abc' ;s1 = new String('abc');s2 = new String('abc');s1==s2 是 false //兩個變量的內存地址不一樣,也就是說它們指向的對象不 一樣,s1.equals(s2) 是 true //兩個變量的所包含的內容是abc,故相等。

String s1,s2,s3 = 'abc', s4 ='abc' ; s1 = new String('abc'); s2 = new String('abc'); System.out.println('s1==s2:'+(s1==s2)); System.out.println('s1==s3:'+(s1==s3)); System.out.println('s3==s4:'+(s3==s4)); System.out.println('s1.equals(s2):'+(s1.equals(s2))); System.out.println('s1.equals(s3):'+(s1.equals(s3))); System.out.println('s3.equals(s4):'+(s3.equals(s4)));

測試圖

簡單介紹java中equals以及==的用法

注意:

StringBuffer s1 = new StringBuffer('a'); StringBuffer s2 = new StringBuffer('a'); System.out.println('s1.equals(s2):'+(s1.equals(s2)));//結果為false

簡單介紹java中equals以及==的用法

解釋:StringBuffer類中沒有重新定義equals這個方法,因此這個方法就來自Object類,(Object類中的equals方法是用來比較“地址”的,所以等于false)注意:對于s3和s4來說,有一點不一樣要引起注意,由于s3和s4是兩個字符,串常量所生成的變量,其中所存放的內存地址是相等的,所以s3==s4是true(即使沒有s3=s4這樣一個賦值語句)對于非字符串變量來說,'=='和'equals'方法的作用是相同的都是用來比較其,對象在堆內存的首地址,即用來比較兩個引用變量是否指向同一個對象。

比如:

class A{ A obj1 = new A(); A obj2 = new A();} obj1==obj2//結果為false obj1.equals(obj2)//是false //但是如加上這樣一句: obj1=obj2; //執行后 obj1==obj2 //是true obj1.equals(obj2) //是true

1、equals方法對于字符串來說是比較內容的,而對于非字符串來說是比較,其指向的對象是否相同的。

2、 == 比較符也是比較指向的對象是否相同的也就是對象在對內存中的的首地址。String類中重新定義了equals這個方法,而且比較的是值,而不是地址。所以是true。

關于equals與==的區別從以下幾個方面來說:

(1) 如果是基本類型比較,那么只能用==來比較,不能用equals比如:

public class TestEquals { public static void main(String[] args) { int a = 3; int b = 4; int c = 3; System.out.println(a == b);//結果是false System.out.println(a == c);//結果是true System.out.println(a.equals(c));//錯誤,編譯不能通過,equals方法 //不能運用與基本類型的比較 } }

(2) 對于基本類型的包裝類型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用變量,==是比較地址的,而equals是比較內容的。比如

public class TestEquals { public static void main(String[] args) { Integer n1 = new Integer(30); Integer n2 = new Integer(30); Integer n3 = new Integer(31); System.out.println(n1 == n2);//結果是false 兩個不同的Integer對象,故其地址不同, System.out.println(n1 == n3);//那么不管是new Integer(30)還是new Integer(31) 結果都顯示false System.out.println(n1.equals(n2));//結果是true 根據jdk文檔中的說明,n1與n2指向的對象中的內容是相等的,都是30,故equals比較后結果是true System.out.println(n1.equals(n3));//結果是false 因對象內容不一樣,一個是30一個是31 } }

這是Integer的實例,如果是其他的比如Double、Character、Float等也一樣

(3) 注意:對于String(字符串)、StringBuffer(線程安全的可變字符序列)、StringBuilder(可變字符序列)這三個類作進一步的說明。

(4)該例子是Java編程思想第三章的例子:

class Value { int i; } public class EqualsMethod2 { public static void main(String[] args) { Value v1 = new Value(); Value v2 = new Value(); v1.i = v2.i = 100; System.out.println(v1.equals(v2));//(1)flase System.out.println(v1 == v2);//(2)true } }

運行結果疑問:乍一看結果,有點驚訝,為什么不是true呢,不是說equals方法是比較內容的嗎?

解釋:不錯,如果在新類中被覆蓋了equals方法,就可以用來比較內容的。但是在上面的例子中類Value并沒有覆蓋Object中的equals方法,而是繼承了該方法,因此它就是被用來比較地址的,又v1和v2的所指向的對象不相同,故標記(1)處的v1.equals(v2)運行結果為false,標記為(2)處的v1 == v2運行結果也為false。

總結:

如果是基本類型比較,那么只能用==來比較,不能用equals ,如果是基本類型的包裝類型,那么用equals

到此這篇關于簡單介紹java中equals以及==的用法的文章就介紹到這了,更多相關java中equals以及==的用法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
成人综合婷婷国产精品久久 | 成人毛片老司机大片| 中文一区二区| 亚洲视频中文字幕| 国产精品久久7| 国产精品九色蝌蚪自拍| 午夜精品国产| 久久久www免费人成精品| 国产91富婆露脸刺激对白| 日韩亚洲电影在线| 国产成人激情av| 欧美综合一区二区| 日本不卡视频在线| 欧美性一区二区| 麻豆视频观看网址久久| 久久九九国产| 亚洲第一av色| 色综合久久六月婷婷中文字幕| 亚洲国产综合91精品麻豆| aa日韩免费精品视频一| 亚洲狼人国产精品| 国产色综合网| 亚洲韩国精品一区| 色婷婷综合久久久| 精品午夜久久福利影院| 4438成人网| 国产精品性做久久久久久| 91麻豆精品国产91久久久久久| 国产精品99久| 精品国产一二三区| 91小宝寻花一区二区三区| 国产亚洲欧美一级| 午夜视频精品| 亚洲欧美成人一区二区三区| 最新亚洲视频| 亚洲国产视频在线| 久久三级视频| 精品一区二区三区视频| 日韩欧美电影一区| 97se亚洲国产综合自在线观| 久久久精品国产免费观看同学| a在线播放不卡| 亚洲国产成人在线| 亚洲国产免费| 五月天中文字幕一区二区| 欧美1区2区3区| 中文字幕综合网| 国产成人精品一区二| 日韩女优av电影| 午夜性色一区二区三区免费视频| 亚洲精选免费视频| 91福利在线看| 成人性视频免费网站| 久久精品人人做人人爽人人| 在线成人www免费观看视频| 亚洲影视在线观看| 老鸭窝亚洲一区二区三区| 日韩成人精品在线| 欧美一区二区三区播放老司机| 91免费在线看| 亚洲黄色录像片| 欧美日韩精品一区二区天天拍小说 | 亚洲精品国产日韩| 99re8在线精品视频免费播放| 日本电影欧美片| 亚洲狠狠爱一区二区三区| 欧美三级视频在线| 日日嗨av一区二区三区四区| 欧美日本国产一区| 午夜亚洲福利| 日韩激情中文字幕| 欧美一区二区在线播放| 狠狠色狠狠色综合人人| 亚洲成a人片在线不卡一二三区| 欧美色偷偷大香| 牛夜精品久久久久久久99黑人 | 亚洲va韩国va欧美va| 7777女厕盗摄久久久| 91蜜桃在线观看| 一区二区三区蜜桃网| 欧美日韩国产综合一区二区三区| 91麻豆123| 爽好久久久欧美精品| 一区二区在线免费| 6080午夜不卡| 亚洲电影在线| 美女网站色91| 国产日产精品一区| 在线一区二区三区四区五区| 成人h版在线观看| 亚洲综合在线电影| 日韩欧美aaaaaa| 老司机一区二区三区| 欧美国产禁国产网站cc| 美女被久久久| 岛国av在线一区| 一二三四社区欧美黄| 日韩欧美一级二级三级| 亚洲午夜精品一区二区| 免费在线看成人av| 国产欧美一区二区在线| 久久亚洲影院| 欧美日韩免费| 免费观看久久久4p| 久久久久久久久久久久电影| 媚黑女一区二区| 色综合天天做天天爱| 日本系列欧美系列| 国产午夜精品一区二区三区视频 | 国产日韩精品一区二区浪潮av | 国产精品一区三区| 综合色中文字幕| 91精品国产黑色紧身裤美女| 国产欧美日韩伦理| 懂色av一区二区夜夜嗨| 日韩在线一区二区| 中文字幕国产精品一区二区| 欧美午夜电影网| 在线播放精品| av亚洲产国偷v产偷v自拍| 久久精品久久综合| 国产精品灌醉下药二区| 51精品视频一区二区三区| 国产精品一区视频网站| 99久久久精品| 狠狠色狠狠色综合| 一区二区三区不卡视频在线观看| 精品久久一区二区| 欧美影视一区在线| 亚洲电影成人| 9l国产精品久久久久麻豆| 麻豆免费看一区二区三区| 一级特黄大欧美久久久| 中文av一区二区| 欧美不卡123| 欧美日韩视频在线观看一区二区三区 | 亚洲一二三区在线观看| 国产日韩欧美激情| 欧美成va人片在线观看| 欧美丝袜自拍制服另类| 国产欧美69| 亚洲无毛电影| 99国产精品99久久久久久| 国产在线视频精品一区| 午夜精品免费在线观看| 亚洲色图第一区| 精品女同一区二区| 欧美日韩国产综合一区二区三区| 久久久久高清| 在线综合亚洲| 国产一区再线| av在线播放一区二区三区| 国产专区综合网| 美女免费视频一区二区| 亚洲第一激情av| 亚洲欧洲另类国产综合| 国产日本欧洲亚洲| 久久奇米777| 欧美一区二区三区日韩视频| 欧洲一区二区三区免费视频| 欧美一级视频| 99视频精品免费观看| 永久域名在线精品| 亚洲国产一区二区精品专区| 欧美午夜精品久久久久免费视| 99精品久久久久久| 国内精品伊人久久久久av一坑| 日本美女一区二区三区| 日韩精品亚洲专区| 日韩在线卡一卡二| 午夜精品一区二区三区三上悠亚| 亚洲国产综合人成综合网站| 成人欧美一区二区三区白人| 欧美韩日一区二区三区| 2020日本不卡一区二区视频| 欧美mv日韩mv国产| 精品国产露脸精彩对白| 精品免费国产一区二区三区四区| 欧美成人vr18sexvr| 精品成人免费观看| 欧美精品一区二区不卡| 欧美一二三四区在线| 日韩午夜激情电影| 欧美一区二区三区四区五区| 欧美一区二区三区免费视频| 555夜色666亚洲国产免| 欧美一区二区在线观看| 欧美大尺度电影在线| 精品国产一区a| 国产亚洲1区2区3区| 亚洲欧洲色图综合| 亚洲国产wwwccc36天堂| 日韩成人精品视频| 黄色资源网久久资源365| 国产成人av电影在线观看| 亚洲国产成人av网| 亚洲成av人片在线观看无码| 污片在线观看一区二区| 美女视频一区二区三区| 国产一区二区三区蝌蚪|