Từng kiểu nguyên thủy trong Java có trình bao bọc tích hợp sẵn tương ứng và các lớp trình bao bọc này cũng không thể thay đổi . Số nguyên, Pha nổi, Đôi, Byte, và vv .. là một số lớp trình bao bọc được tích hợp sẵn. Động cơ chính của việc sử dụng các trình bao bọc như vậy trong mã của chúng tôi là truy cập thông tin loại về loại nguyên thủy tương ứng, Quyền anh tự động tính năng, trong đó dữ liệu nguyên thủy được tự động thăng cấp thành kiểu tham chiếu đối tượng và di chuyển dữ liệu kiểu nguyên thủy xung quanh cấu trúc dữ liệu.
Chúng tôi có thể tạo một bản sao của Lớp gói bằng cách sử dụng mới và cũng sử dụng valueOf () trong các loại, chẳng hạn như Số nguyên để tạo đối tượng trình bao bọc . Integer.valueOf () phương thức sẽ sử dụng lại các đối tượng Integer hiện có có cùng giá trị trên heap. Nếu một đối tượng có cùng giá trị hiện diện trong heap, nó sẽ trả về một tham chiếu đến một đối tượng hiện có, hoặc nếu không thì trả về tham chiếu của đối tượng Integer mới được tạo.
Trong các đoạn mã dưới đây, chúng ta có thể tạo các đối tượng trình bao bọc trong công cụ JShell.
Snippet-1
jshell> Integer int1 = new Integer(10); int1 ==> 10 jshell> Integer int2 = new Integer(10); int2 ==> 10 jshell> Integer int3 = Integer.valueOf(10); int3 ==> 10 jshell> Integer int4 = Integer.valueOf(10); int4 ==> 10 jshell> int1 == int2; $7 ==> true jshell> int3 == int4; $8 ==> true
Snippet-2
jshell> Integer abc1 = Integer.valueOf(700); abc1 ==> 700 jshell> Integer abc2 = 700; abc2 ==> 700 jshell> Integer abc3 = 700; abc3 ==> 700 jshell> abc2 == abc3 $4 ==> false jshell> Integer.MAX_VALUE $5 ==> 2147483647 jshell> Integer.MIN_VALUE $6 ==> -2147483648 jshell> Integer.SIZE $7 ==> 32 jshell> Integer.BYTES $8 ==> 4