成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

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

Java Long類型對比分析

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

在開發的到一個很基礎的問題

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

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

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

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

所以

當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數據的大小的比較

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

Java Long類型對比分析

二、long數據的大小的比較

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

Java Long類型對比分析

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

標簽: Java
相關文章:
主站蜘蛛池模板: 日本一区二区在线 | 在线观看日本视频免费 | 国产成人久久精品二区三区牛 | 国产成人精品免费视频大全软件 | 国产99久久亚洲综合精品 | 天天噜夜夜操 | 成人做爰在线视频 | 能在线观看的一区二区三区 | 亚洲国产精品成 | 一区精品麻豆经典 | 尹人香蕉久久99天天拍 | 日产一一到六区网站免费 | 全免费a级毛片免费看 | 日本www色视频成人免费网站 | 一级毛片在线看 | 爽爽日本在线视频免费 | 精品国产午夜肉伦伦影院 | 九月婷婷亚洲综合在线 | 国产自线一二三四2021 | 欧美亚洲日本国产综合网 | 精品在线视频观看 | 91日本在线观看亚洲精品 | 性生活免费视频网站 | 亚洲视频免费在线看 | 国产在线激情视频 | 国产成人精品亚洲日本在线观看 | 成人网18免费软件 | 在线观看中文字幕亚洲 | aaa国产一级毛片 | 乱子伦农村xxxx视频 | 性感美女视频黄.免费网站 性高湖久久久久久久久 | 成人三级在线播放 | 亚洲 欧美 丝袜 | 日日摸夜夜搂人人要 | 精品国产呦系列在线看 | 韩国毛片基地 | 男的操美女 | 国产亚洲一区二区精品 | 亚洲欧美卡通动漫丝袜美腿 | 99久久精彩视频 | 国产精品日本一区二区在线播放 |