Các lớp Java Wrapper
Lớp wrapper cung cấp một cách để sử dụng các kiểu dữ liệu nguyên thủy ( int
, boolean
, vv ..) như các đối tượng.
Bảng dưới đây cho thấy kiểu nguyên thủy và lớp trình bao bọc tương đương:
Primitive Data Type | Wrapper Class |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
Đôi khi bạn phải sử dụng các lớp trình bao bọc, chẳng hạn như khi làm việc với các đối tượng Bộ sưu tập, chẳng hạn như ArrayList
, khi các kiểu nguyên thủy không thể được sử dụng (danh sách chỉ có thể lưu trữ các đối tượng):
Thí dụ
ArrayList<int> myNumbers = new ArrayList<int>(); // Invalid
ArrayList<Integer> myNumbers = new ArrayList<Integer>(); // Valid
Tạo các đối tượng Wrapper
Để tạo một đối tượng trình bao bọc, hãy sử dụng lớp trình bao bọc thay vì kiểu nguyên thủy. Để nhận giá trị, bạn chỉ cần in đối tượng:
Thí dụ
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);
}
}
Vì bây giờ bạn đang làm việc với các đối tượng, bạn có thể sử dụng một số phương pháp nhất định để lấy thông tin về đối tượng cụ thể.
Ví dụ, các phương pháp sau đây được sử dụng để nhận được giá trị liên quan đến các đối tượng wrapper tương ứng: intValue()
, byteValue()
, shortValue()
, longValue()
, floatValue()
, doubleValue()
, charValue()
, booleanValue()
.
Ví dụ này sẽ cho ra kết quả tương tự như ví dụ trên:
Thí dụ
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());
}
}
Một phương thức hữu ích khác là toString()
phương thức, được sử dụng để chuyển đổi các đối tượng trình bao bọc thành chuỗi.
Trong ví dụ sau, chúng tôi chuyển đổi một Integer
thành a String
và sử dụng length()
phương thức của String
lớp để xuất ra độ dài của “chuỗi”:
Thí dụ
public class Main {
public static void main(String[] args) {
Integer myInt = 100;
String myString = myInt.toString();
System.out.println(myString.length());
}
}