[Java] 基本資料包裝類別 Wrapper Classes
基本型別包裝 (Wrapper Classes)
將基本型別生成物件,要將基本型別先包裝成物件,才能執行生成,
Boxing: Integer a = new Integer(1)
Unboxing: int x = a.intValue()
Autoboxing(JDK1.5以後支援)
Integer a = 1 [物 <= 基] ok
int x = new Integer(1) [基 <= 物] ok
獲取其值 xxxValue()
% Byte / Short / Int / Long / Float / Double 皆繼承 Number(抽象類別),可以指定調出型別,但要小心外溢狀態
型別物件字串轉換
1.字串 ==> 物件
除Char類別(String本身)以外的都有提供
Xxx . valueOf("String")
其中數字類型有overloding版本的方法可供使用,可以 redix 指定進位表示法
Xxx . valueOf("String" , int redix)
% 外溢或不合規定 會出現 NumberFormatException
2.字串 => 基本型
為各類別的static方法
Xxx . praseXxx( "String" )
數字型別也有redix
Xxx . praseXxx( "String" , int redix )
Charactor類別有
Charactor.digit ( 'Char ch' , int radix)
%超出為 -1
3.類別物件、資料型別 ==> 字串
基本類別都有各自的 toString() 實作法 (String會自動處理),但只能轉成10進位制的字串表示
而Integer、Long 有提供
Xxx . toBinaryString( int/long i )
Xxx . toHexString( int/long i )
Xxx . toOctalString( int/long i )
Xxx . toString( int/long i , int radix)
Char 字元判斷與轉換
Character.isXxxxxxxx (Digit(' ')、Letter(' ')、LowerCase(' ')、UpperCase(' ').....)
Character.toLowerCase(' ')
Character.toUpperCase(' ')
比較用方法
Xxxxx.equals(Object obj)
Xxxxx.comparaTo(Object obj)