Java基础知识学习巩固2--int和Integer有什么区别及扩展
? ? 這8中數據類型可以,自動轉換和強制轉換:
????????自動轉換,自動轉換時只能由低級向高級(byte;short;char->int->long->float->double;)
????? ? 強制轉換,即大位數轉換成小位數.
????????????????????如 int a = 123; byte b = (byte)a;//此時需要強轉 不強轉會編譯報錯
????? ? 以上基本類型只能賦予值。
二、引用數據類型,主要三種,分別是:
????? ? 1、類(Class)
????? ? 2、接口(interface)
????????3、數組
????????? ?我們最常用到的引用數據類型就是String類,通過源碼我們可以看到,實際上String存儲的字符串是以基本數據類型char的數組進行存儲并創建對應位數的。
????????? ?而我們的Integer就是引用類型,從所截圖的源碼中可以看出Integer是一個繼承了Number并實現?Comparable而構造的類,其中提供了很多例如toString這樣的方法。
?? ? 還有Float與float,long與Long都同理。
三、總結:
????? ? 從以上可以看出int和Integer的主要區別就是一個是基本類型,主要是值傳遞;一個是引用類型,即類,即是按值傳遞也是按引用傳遞。J
????? ? Java從5開始引入自動裝箱/拆箱機制,使得二者可以相互轉換,Integer對int這樣對基本類型進行的裝箱使得開發更加便捷。
????
總結
以上是生活随笔為你收集整理的Java基础知识学习巩固2--int和Integer有什么区别及扩展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java基础知识1---面向对象及fin
- 下一篇: Java基础学习巩固3--重载和重写分析