Các lớp Java Wrapper
Các lớp Java Wrapper
Các lớp gói cung cấp một cách để sử dụng các kiểu dữ liệu nguyên thủy ( int
, boolean
v.v.) làm đố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
, trong đó 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ó thể 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 các phương pháp nhất định để lấy thông tin về đối tượng cụ thể.
Ví dụ: các phương thức sau được sử dụng để nhận giá trị được liên kết với đối tượng trình intValue()
bao bọc
byteValue()
tương ứng 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 pháp 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());
}
}