sese在线视频|婷婷五月天 国产|丝袜在线一区第一页|精品国产污污网址|午夜无套内射视频|91视频亚洲第一|一区二区三区污污|毛片毛片毛片按摩按摩,摸毛片裸体|亚洲熟女av电影|在线观看欧美亚州

學習啦 > 知識大全 > 知識百科 > 公共基礎知識 > ==和equals的區(qū)別總結

==和equals的區(qū)別總結

時間: 映芳735 分享

==和equals的區(qū)別總結

C#中有兩種不同的相等:引用相等和值相等

  == 是比較兩個變量的值是否相同或兩個引用是不是指向同一個內存地址。

  Equals()方法是比較兩個對象指向內存空間里的內容是不是相同。也就是比較兩個“引用類型” 是否是對同一對象的引用,即兩個對象的內容是否相同。

  java中的數(shù)據類型,可分為兩類:

  1.基本數(shù)據類型,也稱原始數(shù)據類型。byte,short,char,int,long,float,double,boolean

  他們之間的比較,應用雙等號(==),比較的是他們的值。

  2.復合數(shù)據類型(類)

  當他們用(==)進行比較的時候,比較的是他們在內存中的存放地址,所以,除非是同一個new出來的對象,他們的比較后的結果為true,否則比較后結果為false。 JAVA當中所有的類都是繼承于Object這個基類的,在Object中的基類中定義了一個equals的方法,這個方法的初始行為是比較對象的內存地 址,但在一些類庫當中這個方法被覆蓋掉了,如String,Integer,Date在這些類當中equals有其自身的實現(xiàn),而不再是比較類在堆內存中的存放地址了。

  對于復合數(shù)據類型之間進行equals比較,在沒有覆寫equals方法的情況下,他們之間的比較還是基于他們在內存中的存放位置的地址值的,因為Object的equals方法也是用雙等號(==)進行比較的,所以比較后的結果跟雙等號(==)的結果相同。

530147