亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

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

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

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

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

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

1.基本數(shù)據(jù)類型,也稱原始數(shù)據(jù)類型。

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

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

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

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

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

Object中的equals()方法

publicbooleanequals(Objectobj){ return(this==obj); } 舉個實(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)); //未重寫equals()方法,返回false //重寫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)文章:
主站蜘蛛池模板: 手机看片日韩日韩韩 | 一级片aaaa| 99久久免费午夜国产精品 | 亚洲天堂中文网 | 欧美成人免费tv在线播放 | 欧美一区二区二区 | 亚洲精品一区二区三区美女 | 日韩毛片免费线上观看 | 在线国产区 | 777色狠狠一区二区三区 | 99精品久久99久久久久久 | 真正免费一级毛片在线播放 | 欧美亚洲第一区 | 模特精品一区二区三区 | 国产成人精品三级在线 | 在线播放一区二区三区 | 欧美在线高清视频 | 国产成人精品无缓存在线播放 | 亚洲综合片 | 91九色成人 | 欧美激情亚洲一区中文字幕 | 亚欧色 | 一区视频在线 | 长腿嫩模打开双腿呻吟 | 亚洲日韩视频 | 久久久久欧美国产精品 | 毛片免费网址 | 精品久久久久久久久中文字幕 | 成年女人色毛片免费 | 久久免费视频1 | 欧美一区2区 | 成熟的女性强烈交性视频 | 一个人免费看的www 一及 片日本 | 18性欧美69 | 亚洲精品综合一区在线 | 香港激情黄三级在线视频 | 亚洲三级黄 | 日本 欧美 在线 | 国产毛片基地 | 久久精品国产亚洲高清 | 日韩欧美一区二区三区在线观看 |