Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để tạo các đối tượng trình bao bọc trong JShell trong Java 9?


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