亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java Long類型對比分析

瀏覽:2日期:2022-08-09 10:21:44
Java Long類型對比

在開發(fā)的到一個很基礎的問題

在代碼中,兩個Long類型數(shù)據(jù)比較用“==”,結果有時候true有時候false,原本以為Long會自動轉long然后再比較,不會是這里的錯,找來找去實在找不到其他原因了,我就打印這兩個Long類型出來看,果然是不相等,于是臉黑了一陣......

去查了一下資料,原來是這樣:

Java 基本類型的包裝類的大部分都實現(xiàn)了常量池技術,即Byte,Short,Integer,Long,Character;

這5種包裝類默認創(chuàng)建了數(shù)值[-128,127]的相應類型的緩存數(shù)據(jù),但是超出此范圍仍然會去創(chuàng)建新的對象。

所以

當Long型的值超過了【-128,127】的時候,他會new一個新的對象,如果沒有超過就會放到緩存中。

所以當Long型的值超過了【-128,127】的時候,“==”判斷就不會相等了,可以理解為此時“==”比較的是兩個對象的地址而不是值。

Long class源碼:

public static Long valueOf(long l) { final int offset = 128; if (l >= -128 && l <= 127) { // will cachereturn LongCache.cache[(int)l + offset]; } return new Long(l);}正確的Long類型比較姿勢:

1.使用Long的longValue()方法,轉換成long值進行比較

Long a = 128l;Long b = 128l;a.longValue() == b.longValue(); //true

2.使用Long的equals()方法

Long a = 128l;Long b = 128l;a.equals(b); //true

Long class 源碼:

public boolean equals(Object obj) { if (obj instanceof Long) {return value == ((Long)obj).longValue(); } return false;}java Long型和long型的比較大小一、Long數(shù)據(jù)的大小的比較

對于Long類型的數(shù)據(jù),這個數(shù)據(jù)是一個對象,所以對象不可以直接通過“>”,“==”,“<”的比較,如果要比較兩個對象的是否相等的話,我們可以用Long對象的.equals()方法:

Java Long類型對比分析

二、long數(shù)據(jù)的大小的比較

對于long類型的數(shù)據(jù),這個數(shù)據(jù)是一個基本數(shù)據(jù)類型,不屬于對象,所以可以直接通過“>”,“==”,“<”作比較

Java Long類型對比分析

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 思99re久久这里只有精品首页 | 综合亚洲一区二区三区 | 国产一区二卡三区四区 | 婷婷丁香色综合图亚洲 | 中文字幕国产欧美 | 欧洲成人全免费视频网站 | 久久久青草青青亚洲国产免观 | 日韩亚州 | 国产三级做爰高清视频a | 国产91在线免费观看 | 在线播放 亚洲 | 精品在线观看国产 | 国产亚洲精品久久精品6 | 亚州精品一区二区三区 | 国产污视频在线观看 | 日韩电影免费在线观看中文字幕 | 五月香婷婷 | xxxxx大片在线观看 | 国产精选第一页 | 免费看片aⅴ免费大片 | 在线观看中文字幕国产 | 久久久久久久91精品免费观看 | 亚洲高清在线视频 | 色射影院| 永久免费mv网站入口 | 你懂得国产 | 精品啪啪 | 日韩国产中文字幕 | 国产日本欧美亚洲精品视 | 999热精品这里在线观看 | 黄频在线播放观看 免费 | 草草视频免费看 | 国产大片91精品免费观看男同 | 久久婷婷激情综合色综合也去 | 一级免费黄色录像 | 青青草青青操 | 国产精品一区二区四区 | 国产大片黄在线看免费 | 在线观看成年人视频 | 亚洲天堂啪啪 | 黄在线观看免费 |