卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java如何創(chuàng)建對(duì)象 如何比較java對(duì)象是同一個(gè)對(duì)象?

如何比較java對(duì)象是同一個(gè)對(duì)象?java中的基本數(shù)據(jù)類型判斷是否相等,直接使用"=="就行了,相等返回true,否則,返回false。但是java中的引用類型的對(duì)象就不同了,假設(shè)有兩個(gè)引用對(duì)象obj

如何比較java對(duì)象是同一個(gè)對(duì)象?

java中的基本數(shù)據(jù)類型判斷是否相等,直接使用"=="就行了,相等返回true,否則,返回false。

但是java中的引用類型的對(duì)象就不同了,假設(shè)有兩個(gè)引用對(duì)象obj1,obj2,obj1==obj2 判斷是obj1,obj2這兩個(gè)引用變量是否相等,即它們所指向的對(duì)象是否為同一個(gè)對(duì)象。言外之意就是要求兩個(gè)變量所指內(nèi)存地址相等的時(shí)候,才能返回true,每個(gè)對(duì)象都有自己的一塊內(nèi)存,因此必須指向同一個(gè)對(duì)象才返回ture。

如果想要自定義兩個(gè)對(duì)象是否相等的規(guī)則,那么必須在對(duì)象的類定義中重寫equals()方法,如果不重寫equals()方法的話,默認(rèn)的比較方式是比較兩個(gè)對(duì)象是否為同一個(gè)對(duì)象。在Java API中,有些類重寫了equals()方法,它們的比較規(guī)則是:當(dāng)且僅當(dāng)該equals方法參數(shù)不是 null,兩個(gè)變量的類型、內(nèi)容都相同,則比較結(jié)果為true。

重寫equals()方法的步驟一般如下:

1、先用“==”判斷是否相等。

2、判斷equals()方法的參數(shù)是否為null,如果為null,則返回false;因?yàn)楫?dāng)前對(duì)象不可能為null,如果為null,則不能調(diào)用其equals()方法,否則拋java.lang.NullPointerException異常。

3、當(dāng)參數(shù)不為null,則如果兩個(gè)對(duì)象的運(yùn)行時(shí)類(通過getClass()獲?。┎幌嗟?,返回false,否則繼續(xù)判斷。

4、判斷類的成員是否對(duì)應(yīng)相等。