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

Java中對null進(jìn)行強制類型轉(zhuǎn)換的方法

 更新時間:2018年09月05日 10:52:34   作者:Asa_Prince  
小編對null進(jìn)行強轉(zhuǎn)會不會拋錯,非常的好奇,下面小編通過實例代碼給大家介紹Java中對null進(jìn)行強制類型轉(zhuǎn)換的方法,感興趣的朋友參考下吧

今天很好奇,對null進(jìn)行強轉(zhuǎn)會不會拋錯。做了如下測試得到的結(jié)果是,如果把null強轉(zhuǎn)給對象,是不會拋異常的,本身對象是可以為null的。但是如果是基本類型,比如 int i = (Integer)obj的強轉(zhuǎn),其實內(nèi)部會調(diào)用intvalue方法去賦值給基本類型,所以這時候是會報錯的。

代碼如下

Object obj = null;
Integer s1 = (Integer)obj;

上面能正常執(zhí)行,即把null賦值給一個對象或者強行類型轉(zhuǎn)換賦值給對象都是沒有問題的。如果s1是 int的基本類型呢?

代碼如下,編譯時不會報錯,但是執(zhí)行,則報java.lang.NullPointerException錯誤。

int s1 = (Integer)obj;
System.out.println(s1);

我們反編譯后會發(fā)現(xiàn)調(diào)用了在 intValue方法去獲取value,所以拋出空指針錯誤。

反編譯后的代碼:

Object obj = null;
int s1 = ((Integer)obj).intValue();
System.out.println(s1);

類似的,在有int 與 Integer 互相轉(zhuǎn)換,即自動拆裝箱的時候,要尤其注意,會不會存在空指針異常。

補充:下面看下java的null類型強轉(zhuǎn)

java中的null值是可以強制轉(zhuǎn)換為任何java類型的,就像(String)null是合法的,但null強轉(zhuǎn)后的是無效對象,其返回值還是為null,但是例如下面這種情況

public class NULL {
  public static void main(String[] args) {
    ((NULL)null).haha();
  }
  public static void haha(){
    System.out.println("haha");
  }
}

輸出為

haha

原因是static方法的調(diào)用是和類名綁定的,不借助對象進(jìn)行訪問,所以能夠正確輸出,如果沒有加上static修飾,就會報空指針的錯誤了

總結(jié)

以上所述是小編給大家介紹的Java中對null進(jìn)行強制類型轉(zhuǎn)換,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 關(guān)于JAVA11中圖片與BASE64相互轉(zhuǎn)換的實現(xiàn)

    關(guān)于JAVA11中圖片與BASE64相互轉(zhuǎn)換的實現(xiàn)

    這篇文章主要介紹了關(guān)于JAVA11中圖片與BASE64相互轉(zhuǎn)換的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • SptingBoot過濾器Filter的使用詳解

    SptingBoot過濾器Filter的使用詳解

    這篇文章主要介紹了SptingBoot過濾器Filter的使用詳解,Filter屬于Servlet規(guī)范,并不是Spring獨有的,Filter主要用于攔截請求,做一些業(yè)務(wù)邏輯操作,然后可以決定請求是否可以繼續(xù)往下分發(fā),落到其他的Filter或者對應(yīng)的Servlet,需要的朋友可以參考下
    2023-09-09
  • springboot在服務(wù)器上的幾種啟動方式(小結(jié))

    springboot在服務(wù)器上的幾種啟動方式(小結(jié))

    這篇文章主要介紹了springboot在服務(wù)器上的幾種啟動方式(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • java稀疏數(shù)組的示例代碼

    java稀疏數(shù)組的示例代碼

    這篇文章主要介紹了java稀疏數(shù)組,稀疏數(shù)組,記錄一共有幾行幾列,有多少個不同值,把具有不同值的元素和行里了及值記錄在一個小規(guī)模的數(shù)組中,從而縮小程序的規(guī)模,對java稀疏數(shù)組相關(guān)知識感興趣的朋友一起看看吧
    2022-07-07
  • java瀏覽器文件打包下載過程解析

    java瀏覽器文件打包下載過程解析

    這篇文章主要介紹了java瀏覽器文件打包下載過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • 淺談hibernate中多表映射關(guān)系配置

    淺談hibernate中多表映射關(guān)系配置

    下面小編就為大家?guī)硪黄獪\談hibernate中多表映射關(guān)系配置。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 15個頂級Java多線程面試題(附答案)

    15個頂級Java多線程面試題(附答案)

    這篇文章主要為大家分享了15個頂級Java多線程面試題,考察面試者是否有足夠的Java線程與并發(fā)知識,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Java+Springboot搭建一個在線網(wǎng)盤文件分享系統(tǒng)

    Java+Springboot搭建一個在線網(wǎng)盤文件分享系統(tǒng)

    本主要介紹了通過springboot+freemark+jpa+MySQL實現(xiàn)的在線網(wǎng)盤文件分享系統(tǒng),其功能跟百度網(wǎng)盤非常類似,可以實現(xiàn)文件的上傳、移動、復(fù)制、下載等,需要的可以參考一下
    2021-11-11
  • spring boot 加載web容器tomcat流程源碼分析

    spring boot 加載web容器tomcat流程源碼分析

    本文章主要描述spring boot加載web容器 tomcat的部分,為了避免文章知識點過于分散,其他相關(guān)的如bean的加載,tomcat內(nèi)部流程等不做深入討論,具體內(nèi)容詳情跟隨小編一起看看吧
    2021-06-06
  • Java?LocalTime的常用時間操作總結(jié)

    Java?LocalTime的常用時間操作總結(jié)

    日常開發(fā)中,?我們會經(jīng)常遇到時間的運算,?操作,?格式化等,?這篇文章主要為大家詳細(xì)介紹了LocalTime的常用時間操作,感興趣的小伙伴可以了解一下
    2023-11-11

最新評論

杭锦后旗| 改则县| 东源县| 正定县| 金沙县| 新干县| 台南县| 金川县| 桐柏县| 大理市| 永丰县| 泌阳县| 叶城县| 阿合奇县| 裕民县| 宽甸| 大姚县| 丰台区| 绍兴县| 大石桥市| 浮梁县| 瑞丽市| 左贡县| 台中市| 张家口市| 衡水市| 宁河县| 库伦旗| 柯坪县| 太康县| 区。| 阳春市| 海淀区| 丰顺县| 察哈| 内乡县| 福贡县| 泗阳县| 文登市| 镇远县| 外汇|