java中null轉換成其它類型


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

代碼如下 

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

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

 

代碼如下,編譯時不會報錯

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

執行,則報java.lang.NullPointerException錯誤 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM