日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

java中如何區(qū)分==和equals

瀏覽:11日期:2022-08-28 17:46:52

網(wǎng)上搜了一遍,對(duì)于==和equals的表達(dá)感覺不全面;總感覺缺點(diǎn)什么;今天把這個(gè)比較總結(jié)出來三條規(guī)律。

結(jié)論1.基本類型沒有equals方法,只有==比較,比較的是值。

結(jié)論2.所有對(duì)象的==比較都是內(nèi)存地址的比較

(上面的兩點(diǎn)簡單不介紹了)

首先我們看Integer類的比較。

Integer a=1000; Integer b=1000; System.out.println(a == b);//false System.out.println(a.equals(b));//true

因?yàn)閍和b都是對(duì)象類型,所以都有自己的堆內(nèi)存地址,所以根據(jù)結(jié)論2得出a==b是false。

至于equals我們看一下源碼

java中如何區(qū)分==和equals

很明顯Integer的equals比較的是值。所以網(wǎng)上有些說法:equals比較的是內(nèi)存地址的說法是以偏概全的;這個(gè)equals的比較要根據(jù)當(dāng)前類的equals的實(shí)現(xiàn)。

所以a.equals(b)是值的比較。

Integer a1=127; Integer a2=127; System.out.println(a1 == a2);//true System.out.println(a1.equals(a2));//true

第三行a1==a2又變成了true;這個(gè)似乎違背了結(jié)論2.看看源碼吧

private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; static { // high value may be configured by property int h = 127; String integerCacheHighPropValue = sun.misc.VM.getSavedProperty('java.lang.Integer.IntegerCache.high'); if (integerCacheHighPropValue != null) { try { int i = parseInt(integerCacheHighPropValue); i = Math.max(i, 127); // Maximum array size is Integer.MAX_VALUE h = Math.min(i, Integer.MAX_VALUE - (-low) -1); } catch( NumberFormatException nfe) { // If the property cannot be parsed into an int, ignore it. } } high = h; cache = new Integer[(high - low) + 1]; int j = low; for(int k = 0; k < cache.length; k++) cache[k] = new Integer(j++); // range [-128, 127] must be interned (JLS7 5.1.7) assert IntegerCache.high >= 127; } private IntegerCache() {} }

Integer里面有一個(gè)靜態(tài)的IntergerCache類,里面有一個(gè)static靜態(tài)代碼塊和一個(gè)存放Integer的數(shù)組cache[].

上面代碼意思是:從jvm中取high值,如果有值的話和127比較取最大值,沒有值的話用127作為最大值。

-128作為最小值。所以cache[]數(shù)組的值是從-128~127并且是包裝類型。

回到上面a1==a2的問題為什么是true的問題。

因?yàn)閍1和a2的值是127在整型的緩存里面,所以a1,a2指向的對(duì)象都是緩存里面的對(duì)象,所以a1==a2比較的依然是引用,只不過他們的引用都一樣而已。

如果超過緩存的范圍,就需要重新new了,就會(huì)出現(xiàn)新的對(duì)象,自然引用就不一樣了;所以a1==a2=1000的包裝類是false.

順便看了一下整型其他包裝類(Byte,Short,Long)的源碼,范圍都是-128~127,并且不可設(shè)置的。

Boolean同樣適合上面結(jié)論1和結(jié)論2.

Float的equals比較:

java中如何區(qū)分==和equals

equals比較的是數(shù)值的二進(jìn)制直接轉(zhuǎn)換成int型的值比較

Double的equals比較:

java中如何區(qū)分==和equals

equals比較的是數(shù)值的二進(jìn)制直接轉(zhuǎn)換成long型的值比較

至于我們自定義的類,比如定義一個(gè)Student類,其實(shí)它們都是調(diào)用Object的equals方法。

java中如何區(qū)分==和equals

比較的是對(duì)象的引用,也就是內(nèi)存地址的比較。

package a;public class Student { static class A{ @Override public boolean equals(Object obj) { return true; } } static class B{ } public static void main(String[] args) { A a=new A(); System.out.println(a.equals(new B())); }}

上面對(duì)內(nèi)部類的A方法重新了equals方法,總是返回true;那么傳入任何對(duì)象比較,都會(huì)是相等的。

結(jié)論3:自定義對(duì)象的equals比較方式取決于equals方法;如果沒有重寫,比較的就是引用;

如果進(jìn)行了重寫,那么比較規(guī)則取決于equals體。

以上就是java中如何區(qū)分==和equals的詳細(xì)內(nèi)容,更多關(guān)于JAVA ==和equals的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲欧美日韩视频二区| 国产精品极品在线观看| 亚洲欧美日本国产专区一区| 日韩精品高清不卡| 美女毛片一区二区三区四区| 国产精品一区二区三区四区在线观看| 香蕉久久精品| 久久精品中文| 激情中国色综合| 久久99精品久久久久久园产越南 | аⅴ资源天堂资源库在线| 久久精品国产一区二区| 樱桃视频成人在线观看| 天堂资源在线亚洲| 日韩国产高清在线| 久久精品亚洲欧美日韩精品中文字幕| 日韩在线麻豆| 91精品国产乱码久久久久久久 | 免费在线看一区| 91精品国产经典在线观看| 亚洲我射av| 午夜日本精品| 国产精品网在线观看| 日本特黄久久久高潮| 亚洲精品少妇| 国产在线成人| 激情综合在线| 香蕉久久99| 国产精品久久久久久久久久妞妞 | 免费成人在线影院| 麻豆9191精品国产| 一区二区精品伦理...| 亚洲精品一区二区在线播放∴| 国产精品一级在线观看| 香蕉久久夜色精品国产| 欧美~级网站不卡| 丁香六月综合| 色爱av综合网| 久久精品国产网站| 亚洲精品字幕| 日韩在线高清| 国产经典一区| 在线国产一区| 久久国产精品免费一区二区三区| 亚洲综合中文| 亚洲永久字幕| 深夜福利亚洲| 日本不卡不码高清免费观看| 久久精品天堂| 国产精区一区二区| 蜜桃av.网站在线观看| 国产乱码精品一区二区三区亚洲人| 欧美精品高清| 久久在线电影| 精品视频国产| 在线视频观看日韩| 欧美久久一区二区三区| 日韩亚洲国产欧美| 91综合网人人| 国产精品美女久久久久久不卡| 亚洲天堂免费| 精品欠久久久中文字幕加勒比| 国产精品视频一区二区三区四蜜臂| 国产亚洲电影| 欧美日韩国产传媒| 国产精品a级| 国产精品www.| 久久精品在线| 五月婷婷六月综合| 国产精品magnet| 国产精品毛片| 免费不卡在线视频| 伊人久久一区| 蜜臀av在线播放一区二区三区| 久久影院一区二区三区| 91久久视频| 石原莉奈在线亚洲二区| 久久久亚洲欧洲日产| 久久久夜夜夜| 免费久久99精品国产| 国产精选在线| 欧美日本久久| 国产精品腿扒开做爽爽爽挤奶网站| 日韩一区二区三区高清在线观看| 日本午夜大片a在线观看| 青青草伊人久久| 久久精品播放| 精品国产一区二区三区噜噜噜| 黄色亚洲大片免费在线观看| 麻豆精品少妇| 亚洲精品动态| 99热精品在线观看| 久久精品国产999大香线蕉| 亚洲婷婷免费| 麻豆mv在线观看| 捆绑调教美女网站视频一区| 视频一区国产视频| 成人日韩在线观看| 蜜桃视频免费观看一区| 国产毛片一区二区三区| 免费中文字幕日韩欧美| 久久精品一本| 一区二区国产在线| 99免费精品| 国产伊人久久| 欧美视频精品全部免费观看| 日韩午夜在线| 日韩精品久久久久久久电影99爱| 久久99伊人| 黄色在线网站噜噜噜| 中文无码久久精品| 91tv亚洲精品香蕉国产一区| 91精品一区| 亚洲伊人影院| 香蕉精品999视频一区二区| 日韩伦理在线一区| 国产精久久一区二区| 91国内精品| 美国三级日本三级久久99 | 91视频一区| 久久影院资源站| 国产日产一区| 亚洲精品影视| 男人的天堂亚洲一区| 婷婷亚洲综合| 亚洲性色视频| 久久亚洲国产| 欧美日韩国产传媒| 欧美粗暴jizz性欧美20| 日韩欧美一区二区三区在线视频| 久久超级碰碰| 国产成人免费精品| 成人日韩av| 国产粉嫩在线观看| 中文字幕在线视频久| 日本在线啊啊| 91精品91| 一区二区国产精品| 国产欧美高清视频在线| 嫩草伊人久久精品少妇av杨幂| 欧美aⅴ一区二区三区视频| 久久的色偷偷| 伊人网在线播放| 一级欧洲+日本+国产| 亚洲一区二区免费在线观看| 日韩精品免费视频人成| 国产精品一站二站| 欧美国产另类| 激情六月综合| 日韩av一区二区三区四区| 国产精品nxnn| 999久久久91| 亚洲精品欧洲| 国产精品精品| 亚洲婷婷丁香| 亚洲一区二区三区四区五区午夜| 狠狠躁少妇一区二区三区| 欧美日韩国产探花| 国产精品羞羞答答在线观看| 亚洲国产欧美日本视频| 在线亚洲国产精品网站| 国产精品亚洲欧美日韩一区在线 | 九九99久久精品在免费线bt| 成人日韩精品| 奇米色欧美一区二区三区| 国产精品久久久久蜜臀| 男人操女人的视频在线观看欧美| 人人爱人人干婷婷丁香亚洲| 久久影院一区| 久久wwww| 日韩欧美中文在线观看| 日韩一区二区中文| 久久精品超碰| 亚洲一区欧美激情| 免费日韩一区二区三区| 视频一区免费在线观看| 在线看片福利| 美女毛片一区二区三区四区最新中文字幕亚洲 | 国产精品.xx视频.xxtv| 免费看精品久久片| 欧美日韩激情| 亚洲精品在线影院| 国产一区二区三区四区| 日韩不卡在线观看日韩不卡视频| 一区二区小说| 亚洲va中文在线播放免费| 国产激情久久| 日韩av网站在线免费观看| 亚洲一区国产一区| 99视频一区| 伊人久久成人| 欧美日韩第一| 亚洲激情精品| 午夜欧美精品| 伊人久久亚洲热| 午夜av一区| 香蕉成人久久| 日本不卡视频在线| 青青青国产精品| 国产欧美日韩精品一区二区三区 |