คลาส Java Wrapper
คลาส Java Wrapper
คลาส Wrapper ให้วิธีการใช้ชนิดข้อมูลดั้งเดิม ( int
, boolean
, ฯลฯ.. ) เป็นอ็อบเจ็กต์
ตารางด้านล่างแสดงประเภทดั้งเดิมและคลาส wrapper ที่เทียบเท่า:
Primitive Data Type | Wrapper Class |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
บางครั้ง คุณต้องใช้คลาส wrapper ตัวอย่างเช่น เมื่อทำงานกับวัตถุ Collection เช่นArrayList
ซึ่งไม่สามารถใช้ประเภทดั้งเดิมได้ (รายการสามารถเก็บได้เฉพาะวัตถุ):
ตัวอย่าง
ArrayList<int> myNumbers = new ArrayList<int>(); // Invalid
ArrayList<Integer> myNumbers = new ArrayList<Integer>(); // Valid
การสร้างออบเจ็กต์ Wrapper
ในการสร้างอ็อบเจ็กต์ wrapper ให้ใช้คลาส wrapper แทนประเภท primitive เพื่อให้ได้ค่า คุณสามารถพิมพ์วัตถุ:
ตัวอย่าง
public class Main {
public static void main(String[] args) {
Integer myInt = 5;
Double myDouble = 5.99;
Character myChar = 'A';
System.out.println(myInt);
System.out.println(myDouble);
System.out.println(myChar);
}
}
เนื่องจากตอนนี้คุณกำลังทำงานกับออบเจ็กต์ คุณสามารถใช้วิธีการบางอย่างเพื่อรับข้อมูลเกี่ยวกับออบเจ็กต์นั้นๆ
ตัวอย่างเช่น ใช้เมธอดต่อไปนี้เพื่อรับค่าที่เกี่ยวข้องกับอ็อบเจ็กต์ wrapper ที่สอดคล้องกัน: , intValue()
, byteValue()
, shortValue()
, longValue()
,
floatValue()
, doubleValue()
, charValue()
,
booleanValue()
ตัวอย่างนี้จะแสดงผลเช่นเดียวกับตัวอย่างด้านบน:
ตัวอย่าง
public class Main {
public static void main(String[] args) {
Integer myInt = 5;
Double myDouble = 5.99;
Character myChar = 'A';
System.out.println(myInt.intValue());
System.out.println(myDouble.doubleValue());
System.out.println(myChar.charValue());
}
}
วิธีที่มีประโยชน์อีกวิธีหนึ่งคือtoString()
วิธีการซึ่งใช้ในการแปลงออบเจ็กต์ของแรปเปอร์เป็นสตริง
ในตัวอย่างต่อไปนี้ เราแปลง an Integer
เป็น a String
และใช้length()
เมธอดของString
คลาสเพื่อแสดงผลความยาวของ "สตริง":
ตัวอย่าง
public class Main {
public static void main(String[] args) {
Integer myInt = 100;
String myString = myInt.toString();
System.out.println(myString.length());
}
}