
"Chào, Amigo!"
"Hôm nay tôi sẽ kể về autoboxing . AutoBoxing có nghĩa là tự động đặt một thứ gì đó vào hộp."
"Bạn sẽ nhớ rằng Java có các kiểu kế thừa lớp Đối tượng, cũng như các kiểu nguyên thủy. Nhưng hóa ra những thứ tiện lợi như các tập hợp và tổng quát chỉ hoạt động với các kiểu kế thừa Đối tượng."
"Sau đó, quyết định được đưa ra là tạo ra một bản sao không nguyên thủy của mọi loại nguyên thủy."
loại nguyên thủy | đối tác không nguyên thủy |
---|---|
byte | byte |
ngắn | Ngắn |
int | số nguyên |
dài | Dài |
trôi nổi | Trôi nổi |
gấp đôi | Gấp đôi |
boolean | Boolean |
than | Tính cách |
khoảng trống | vô hiệu |
"Nhưng thật bất tiện khi phải chuyển đổi giữa các loại này mọi lúc:"
int x = 3;
Integer y = new Integer(x + 1);
int z = y.intValue();
"Đặc biệt là khi làm việc trực tiếp với các bộ sưu tập:"
int[] numbers = new int[10];
ArrayList list = new ArrayList();
for (int i = 0; i < numbers.length; i++)
{
list.add( new Integer(i));
}
"Đó là lý do tại sao những người tạo ra Java đã phát minh ra «hộp thư tự động» cho các kiểu nguyên thủy của họ và 'mở hộp' cho các kiểu không nguyên thủy của chúng."
"Đây là cách nó hoạt động:
Những gì bạn nhìn thấy | Điều gì thực sự xảy ra |
---|---|
|
|
|
|
|
|
|
|
"Tất cả đều đơn giản. Bạn có thể gán các kiểu int và Integer cho nhau và trình biên dịch sẽ lo mọi việc khác."
"Thật là tiện."
"Vâng. Nhưng có những sắc thái mà tôi sẽ nói sau."
GO TO FULL VERSION