av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java中的== 和equals()有什么方法實(shí)例

瀏覽:2日期:2023-11-30 11:24:51

Java中的== 和equals()有什么方法實(shí)例?來(lái)看看Java中的== 和equals()方法:

Java中的== 和equals()有什么方法實(shí)例

Java中的數(shù)據(jù)類(lèi)型,可分為兩類(lèi):

1.基本數(shù)據(jù)類(lèi)型,也稱(chēng)原始數(shù)據(jù)類(lèi)型。

byte,short,char,int,long,float,double,boolean,他們之間的比較,應(yīng)用雙等號(hào)(==),比較的是他們的值。

2.引用數(shù)據(jù)類(lèi)型(類(lèi))

當(dāng)它們用(==)進(jìn)行比較的時(shí)候,比較的是他們?cè)趦?nèi)存中的存放地址,所以,除非是同一個(gè)new出來(lái)的對(duì)象,他們的比較后的結(jié)果為true,否則比較后結(jié)果為false。

Java當(dāng)中所有的類(lèi)都是繼承于Object這個(gè)基類(lèi)的,在Object中的基類(lèi)中定義了一個(gè)equals()的方法,這個(gè)方法的初始行為是比較對(duì)象的內(nèi)存地址,但在一些類(lèi)庫(kù)當(dāng)中這個(gè)方法被覆蓋掉了,如String,Integer,Date在這些類(lèi)當(dāng)中equals有其自身的實(shí)現(xiàn),而不再是比較類(lèi)在堆內(nèi)存中的存放地址。

對(duì)于引用數(shù)據(jù)類(lèi)型之間進(jìn)行equals比較,在沒(méi)有覆寫(xiě)equals方法的情況下,他們之間的比較還是基于他們?cè)趦?nèi)存中的存放位置的地址值的,因?yàn)镺bject的equals方法也是用雙等號(hào)(==)進(jìn)行比較的,所以比較后的結(jié)果跟雙等號(hào)(==)的結(jié)果相同。

Object中的equals()方法

publicbooleanequals(Objectobj){ return(this==obj); } 舉個(gè)實(shí)例: packageorg.java.test; publicclassPerson{ privateintage; privateStringname; publicintgetAge(){ returnage; } publicvoidsetAge(intage){ this.age=age; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicPerson(intage,Stringname){ this.age=age; this.name=name; } publicPerson(){ } @Override publicinthashCode(){ finalintprime=31; intresult=1; result=prime*result+age; result=prime*result+((name==null)?0:name.hashCode()); returnresult; } @Override publicbooleanequals(Objectobj){ if(this==obj) returntrue; if(obj==null) returnfalse; if(getClass()!=obj.getClass()) returnfalse; Personother=(Person)obj; if(age!=other.age) returnfalse; if(name==null){ if(other.name!=null) returnfalse; }elseif(!name.equals(other.name)) returnfalse; returntrue; } } MainTest.java[java]view plaincopyprint? packageorg.java.test; publicclassMainTest{ publicstaticvoidmain(String[]args){ Personp1=newPerson(99,"A"); Personp2=newPerson(99,"A"); Personp3=p1; System.out.println(p1==p2);//false System.out.println(p1==p3);//true System.out.println(p1.equals(p2)); //未重寫(xiě)equals()方法,返回false //重寫(xiě)equals()方法后,比較的是內(nèi)容,返回true; System.out.println("<====================>"); Strings1="hello"; Strings2="hello"; Strings3=newString("hello"); System.out.println(s1==s2);//true System.out.println(s1==s3);//false System.out.println(s1.equals(s2));//true System.out.println(s1.equals(s3));//true } }

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美日韩一区二区三区四区 | 欧美一二三区 | 99视频网| 成人一区av | 日韩精品无码一区二区三区 | 亚洲毛片在线 | 日韩一区二区视频 | 国产真实精品久久二三区 | 免费观看的av毛片的网站 | 爱操av| 国产精品一级在线观看 | 一区二区在线不卡 | 亚洲a人| 日韩www | 国精日本亚洲欧州国产中文久久 | 国产日韩欧美一区 | 夜夜骚 | 国产精品久久久久久妇女6080 | 产真a观专区 | av一二三四 | 精品国产一区二区国模嫣然 | 国产乱码久久久久久一区二区 | 成人福利视频网站 | 久久在线 | 欧美精品99 | 国产黄色在线观看 | 日本视频中文字幕 | 久色 | 国产高清不卡 | 日韩精品成人在线 | 亚洲免费网址 | 天天av天天好逼 | av在线一区二区三区 | 天天操天天摸天天干 | 久久大全 | 欧美精品一区二区三区在线播放 | 在线观看黄免费 | 一级黄色在线 | 久久久久久国产精品mv | 成人啊啊啊 | 男人的天堂中文字幕 |