Java中的每一個基本資料型態都有一個相對應的Wrapper類別(包裝類別)。平常使用基本型態目的在於效率,不過更多時候會使用類別建立實例,因為物件本身可以包裹更多的資訊,如果要把基本型態換成像物件一樣操作,可以使用Byte、Short、Int、Long、Float、Double、Character、Boolean等類別來包裹基本型態。
基本型態包裹器都是歸類於java.lang
套件中,像是Byte就是在java.lang.Byte
裡,Short在java.lang.Short
裡依此類推,如果要使用Integer來包裹int,有一種方法是使用Integer.valueOf
,從Java 9開始已經不能再使用new Integer()
這個方法了。
int num = 100;
Integer intWrap = Integer.valueOf(num);
除了用Integer.valueOf
,也可以選擇使用自動裝箱(Autoboxing),這部分編譯器會自動判斷它能不能自動裝箱,這部分在每種基本型態都是適用的。
Integer num = 100;
上面有提到自動裝箱,那當然也有自動拆箱(AutoUnboxing),也就是自動取出包裹器中的基本型態資訊
Integer num = 100; // 自動裝箱
int nummm = num; // 自動拆箱
如果想要把字串轉成數字可以使用static方法,像是parseXxx(String s),如果換成整數就是用parseInt():
int x = Integer.parseInt("100");
System.out.println(x); // 100