java 中的原始類型與原始封裝類型


Java   提供兩種不同的類型:引用類型和原始類型(或內置類型)。比如:Int是java的原始數據類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類,常見的原始與對應的封裝類如下:


  原始類型           封裝類  
  boolean             Boolean  
  char                   Character  
  byte                   Byte  
  short                 Short  
  int                     Integer  
  long                   Long  
  float                 Float  
  double               Double  


引用類型和原始類型的區別:

1.兩者的初始化方式不同

int i = 5;                       // 原始類型
Integer j = new Integer(10);     // 對象引用  java 1.5以后支持自動裝箱所以   Integer j = 10; 也可以

使用原始類型無須調用 new,也無須創建對象。這節省了時間和空間。混合使用原始類型和對象也可能導致與賦值有關的意外結果。 

2.原始類型是類,引用類型是對象

原始類型大小比較用"==" , 引用類型大小比較用"equals"

3.引用類型可以被序列化,原始類型不行。

4.引用類型提供的方法可以靈活轉換,可以擴展,原始類型不行

5.在集合類中只能使用引用類型,不能使用原始類型

6.原始類型沒有null的概念,引用類型有,某些情況下需要辨別某個參數是否被初始化了,如果使用原始類型,那么0的值不知道是初始值還是沒有初始化系統自動給的。

7.有些時候必須要用封裝類,比如你要用
request.setAttribute(String key ,Object value);這個方法時,第二個參數為Object類型,而你要放的是一個整數的時候,那就只能放Integer不能放int。

總結:

 原始類型和封裝類型的行為完全不同,並且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數據結構存儲,當引用類型和原始類型用作某個類的實例數據時所指定的缺省值。對象引用實例變量的缺省值為   null,而原始類型實例變量的缺省值與它們的類型有關。
  int(原始類型)   一般做為數值參數就夠了  
  integer (封裝類型)  一般做類型轉換的時候用的較

 


免責聲明!

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



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