java基本類型和包裝器類


  java是一種面向對象語言,java中的類把方法與數據連接在一起,並構成了自包含式的處理單元.但在java中不能定義基本類型(primitive type),為了能將基本類型視為對象來處理,並能連接相關的方法,java為每個基本類型都提供了包裝類,這樣,我們便可以把這些基本類型轉化為對象來處理了.這些包裝類有:Boolean,Byte,Short,Character,Integer,Long,Float,Double,Void共9個(注意:Date不是,無其基本類型).

一、 包裝類(Wrapper Class)共同的方法

值得說明的是,java是可以直接處理基本類型的,但是在有些情況下我們需要將其作為對象來處理,這時就需要將其轉化為包裝類了.所有的包裝類(Wrapper Class)都有共同的方法,他們是:

(1)帶有基本值參數並創建包裝類對象的構造函數.如可以利用Integer包裝類創建對象,Integer obj=new Integer(145);

(2)帶有字符串參數並創建包裝類對象的構造函數.如new Integer("-45.36");

(3)可生成對象基本值的typeValue方法,如obj.intValue();

(4)將字符串轉換為基本值的 parseType方法,如Integer.parseInt(args[0]);

(5)生成哈稀表代碼的hashCode方法,如obj.hasCode();

(6)對同一個類的兩個對象進行比較的equals()方法,如obj1.eauqls(obj2);

(7)生成字符串表示法的toString()方法,如obj.toString().

 

轉換關系:

基本類型------>包裝器類
Integer obj=new Integer(145);

包裝器類------>基本類型
int num=obj.intValue();

字符串------>包裝器類
Integer obj=new Integer("-45.36");

包裝器類------>字符串包裝器類

String str=obj.toString();

字符串------>基本類型
int num=Integer.parseInt("-45.36");

基本類型------>字符串包裝器類

String str=String.valueOf(5);


在一定的場合,運用java包裝類來解決問題,能大大提高編程效率.

 

二、JDK1.5的新特性:自動裝包/拆包(Autoboxing/unboxing)

  自動裝包/拆包大大方便了基本類型數據和它們包裝類地使用。

  自動裝包:基本類型自動轉為包裝類.(int >> Integer)

  自動拆包:包裝類自動轉為基本類型.(Integer >> int)

  在JDK1.5之前,我們總是對集合不能存放基本類型而耿耿於懷,現在自動轉換機制
解決了我們的問題。

int a = 3;
Collection c = new ArrayList();
c.add(a);//自動轉換成Integer.

Integer b = new Integer(2);
c.add(b + 2);

  這里Integer先自動轉換為int進行加法運算,然后int再次轉換為Integer.

 


免責聲明!

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



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