最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Long類型對比分析

 更新時(shí)間:2021年07月09日 10:41:54   作者:zx_huang  
這篇文章主要介紹了Java Long類型對比分析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java Long類型對比

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

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

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

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

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

所以

當(dāng)Long型的值超過了【-128,127】的時(shí)候,他會new一個(gè)新的對象,如果沒有超過就會放到緩存中。

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

Long class源碼:

public static Long valueOf(long l) {
    final int offset = 128;
    if (l >= -128 && l <= 127) { // will cache
        return LongCache.cache[(int)l + offset];
    }
    return new Long(l);
}

正確的Long類型比較姿勢:

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

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

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

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 簡單了解Java關(guān)鍵字throw和throws的區(qū)別

    簡單了解Java關(guān)鍵字throw和throws的區(qū)別

    這篇文章主要介紹了簡單了解Java關(guān)鍵字throw和throws的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Spring框架中的@Conditional系列注解詳解

    Spring框架中的@Conditional系列注解詳解

    這篇文章主要介紹了Spring框架中的@Conditional系列注解詳解,我們需要一個(gè)類實(shí)現(xiàn)Spring提供的Condition接口,它會匹配@Conditional所符合的方法,然后我們可以使用我們在@Conditional注解中定義的類來檢查,需要的朋友可以參考下
    2024-01-01
  • 解決mybatis批量更新(update foreach)失敗的問題

    解決mybatis批量更新(update foreach)失敗的問題

    這篇文章主要介紹了解決mybatis批量更新(update foreach)失敗的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Spring Cloud @RefreshScope 原理及使用

    Spring Cloud @RefreshScope 原理及使用

    這篇文章主要介紹了Spring Cloud @RefreshScope 原理及使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Java?深入理解創(chuàng)建型設(shè)計(jì)模式之抽象工廠模式

    Java?深入理解創(chuàng)建型設(shè)計(jì)模式之抽象工廠模式

    當(dāng)系統(tǒng)所提供的工廠所需生產(chǎn)的具體產(chǎn)品并不是一個(gè)簡單的對象,而是多個(gè)位于不同產(chǎn)品等級結(jié)構(gòu)中屬于不同類型的具體產(chǎn)品時(shí)需要使用抽象工廠模式,抽象工廠模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態(tài)
    2022-02-02
  • java實(shí)現(xiàn)阿拉伯?dāng)?shù)字轉(zhuǎn)漢字?jǐn)?shù)字

    java實(shí)現(xiàn)阿拉伯?dāng)?shù)字轉(zhuǎn)漢字?jǐn)?shù)字

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)阿拉伯?dāng)?shù)字轉(zhuǎn)換為漢字?jǐn)?shù)字源代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • java實(shí)現(xiàn)點(diǎn)贊功能

    java實(shí)現(xiàn)點(diǎn)贊功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)點(diǎn)贊功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 詳談Java中Object類中的方法以及finalize函數(shù)作用

    詳談Java中Object類中的方法以及finalize函數(shù)作用

    下面小編就為大家?guī)硪黄斦凧ava中Object類中的方法以及finalize函數(shù)作用。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • Java反射機(jī)制及Method.invoke詳解

    Java反射機(jī)制及Method.invoke詳解

    這篇文章主要介紹了Java反射機(jī)制及Method.invoke詳解,本文講解了JAVA反射機(jī)制、得到某個(gè)對象的屬性、得到某個(gè)類的靜態(tài)屬性、執(zhí)行某對象的方法、執(zhí)行某個(gè)類的靜態(tài)方法等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • 詳解MyBatis模糊查詢LIKE的三種方式

    詳解MyBatis模糊查詢LIKE的三種方式

    模糊查詢也是數(shù)據(jù)庫SQL中使用頻率很高的SQL語句,這篇文章主要介紹了詳解MyBatis模糊查詢LIKE的三種方式,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-10-10

最新評論

万全县| 乌兰县| 庐江县| 宕昌县| 鸡西市| 普兰县| 斗六市| 三明市| 雷山县| 竹山县| 崇左市| 左贡县| 游戏| 特克斯县| 应用必备| 柏乡县| 房产| 兴和县| 开阳县| 德昌县| 永泰县| 抚顺市| 长沙市| 伊川县| 渭源县| 舞阳县| 平南县| 屏东市| 澜沧| 安义县| 满洲里市| 崇明县| 杭锦旗| 孟连| 尚志市| 乌兰察布市| 富蕴县| 中阳县| 衡山县| 安西县| 盐边县|