一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java中對null進行強制類型轉換的方法

Java中對null進行強制類型轉換的方法

2021-05-30 14:48Asa_Prince Java教程

小編對null進行強轉會不會拋錯,非常的好奇,下面小編通過實例代碼給大家介紹Java中對null進行強制類型轉換的方法,感興趣的朋友參考下吧

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

代碼如下

?
1
2
object obj = null;
integer s1 = (integer)obj;

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

代碼如下,編譯時不會報錯,但是執行,則報java.lang.nullpointerexception錯誤。

?
1
2
int s1 = (integer)obj;
system.out.println(s1);

我們反編譯后會發現調用了在 intvalue方法去獲取value,所以拋出空指針錯誤。

反編譯后的代碼:

?
1
2
3
object obj = null;
int s1 = ((integer)obj).intvalue();
system.out.println(s1);

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

補充:下面看下java的null類型強轉

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

?
1
2
3
4
5
6
7
8
public class null {
  public static void main(string[] args) {
    ((null)null).haha();
  }
  public static void haha(){
    system.out.println("haha");
  }
}

輸出為

haha

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

總結

以上所述是小編給大家介紹的java中對null進行強制類型轉換,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://blog.csdn.net/Asa_Prince/article/details/82416967

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男女男精品视频 | 亚洲精品www久久久久久久软件 | 天堂在线中文无弹窗全文阅读 | 欧美综合另类 | 国产a一级毛片午夜剧院 | 国产v在线在线观看羞羞答答 | 国产成人精品一区二区阿娇陈冠希 | 91视频www | 午夜精品亚洲 | 国产在线视频欧美亚综合 | 亚洲欧美日韩天堂在线观看 | 国产激情一区二区三区四区 | 午夜理伦片免费 | 唯美清纯 自拍偷 | 亚洲美女人黄网成人女 | 性bbwbbwbbwbbw撒尿 | 亚洲福利天堂网福利在线观看 | 国产在线麻豆波多野结衣 | 美女污视频在线观看 | 2018久久精品热在线观看 | 成人做视频免费 | 欧美日韩亚洲成人 | 男人香蕉好大好爽视频 | 1024亚洲精品国产 | 歪歪视频在线播放无遮挡 | 天天干天天操天天爽 | 日韩精品一区二区三区老鸭窝 | 特黄特色大片免费影院 | 日韩精品一区二区三区毛片 | 百合女女师生play黄肉黄 | 好大好硬好深好爽想要小雪 | 国产精品久久香蕉免费播放 | 顶级欧美做受xxx000大乳 | 亚洲第五页 | 99热这里只有精品在线观看 | zoomkool最新版 | 亚洲黄色成人 | 日本人成年视频在线观看 | 亚洲精品国产精品国自产观看 | 无限资源在线观看完整版免费下载 | 日比免费视频 |