Lớp Java Wrapper (Có Ví dụ)

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về lớp Java Wrapper với sự trợ giúp của các ví dụ.

Các lớp wrapper trong Java được sử dụng để chuyển đổi các kiểu dữ liệu ( int, char, float, vv) thành các đối tượng tương ứng.

Mỗi loại trong số 8 kiểu nguyên thủy có các lớp trình bao bọc tương ứng.

Loại nguyên thủy Lớp bọc
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

Chuyển đổi kiểu nguyên thủy thành đối tượng gói

Chúng ta cũng có thể sử dụng valueOf()phương thức để chuyển đổi các kiểu nguyên thủy thành các đối tượng tương ứng.

Ví dụ 1: Các kiểu nguyên thủy đối với đối tượng gói

 class Main ( public static void main(String() args) ( // create primitive types int a = 5; double b = 5.65; //converts into wrapper objects Integer aObj = Integer.valueOf(a); Double bObj = Double.valueOf(b); if(aObj instanceof Integer) ( System.out.println("An object of Integer is created."); ) if(bObj instanceof Double) ( System.out.println("An object of Double is created."); ) ) ) 

Đầu ra

Một đối tượng của Integer được tạo. Một đối tượng của Double được tạo ra.

Trong ví dụ trên, chúng ta đã sử dụng valueOf()phương thức để chuyển đổi các kiểu nguyên thủy thành các đối tượng.

Ở đây, chúng tôi đã sử dụng các instanceofnhà điều hành để kiểm tra xem các đối tượng được tạo ra là của Integerhoặc Doubleloại hay không.

Tuy nhiên, trình biên dịch Java có thể chuyển đổi trực tiếp các kiểu nguyên thủy thành các đối tượng tương ứng. Ví dụ,

 int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b; 

Quá trình này được gọi là tự động đấm bốc . Để tìm hiểu thêm, hãy truy cập chức năng tự động mở hộp và mở hộp Java.

Lưu ý : Chúng ta cũng có thể chuyển đổi các kiểu nguyên thủy thành các đối tượng bao bọc bằng cách sử dụng các hàm tạo Wrapperlớp. Nhưng việc sử dụng các hàm tạo bị loại bỏ sau Java 9.

Gói các đối tượng thành các loại nguyên thủy

Để chuyển đổi các đối tượng vào các loại nguyên thủy, chúng ta có thể sử dụng phương pháp giá trị tương ứng ( intValue(), doubleValue(), vv) hiện diện trong mỗi lớp wrapper.

Ví dụ 2: Gói các đối tượng thành các kiểu nguyên thủy

 class Main ( public static void main(String() args) ( // creates objects of wrapper class Integer aObj = Integer.valueOf(23); Double bObj = Double.valueOf(5.55); // converts into primitive types int a = aObj.intValue(); double b = bObj.doubleValue(); System.out.println("The value of a: " + a); System.out.println("The value of b: " + b); ) ) 

Đầu ra

 Giá trị của a: 23 Giá trị của b: 5,55 

Trong ví dụ trên, chúng ta đã sử dụng phương thức intValue()and doubleValue()để chuyển đổi các đối tượng IntegerDoublethành các kiểu nguyên thủy tương ứng.

Tuy nhiên, trình biên dịch Java có thể tự động chuyển đổi các đối tượng thành các kiểu nguyên thủy tương ứng. Ví dụ,

 Integer aObj = Integer.valueOf(2); // converts into int type int a = aObj; Double bObj = Double.valueOf(5.55); // converts into double type double b = bObj; 

Quá trình này được gọi là mở hộp . Để tìm hiểu thêm, hãy truy cập chức năng tự động mở hộp và mở hộp Java.

Ưu điểm của các lớp Wrapper

  • Trong Java, đôi khi chúng ta có thể cần sử dụng các đối tượng thay vì các kiểu dữ liệu nguyên thủy. Ví dụ, trong khi làm việc với các bộ sưu tập.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    Trong những trường hợp như vậy, các lớp trình bao bọc giúp chúng ta sử dụng các kiểu dữ liệu nguyên thủy làm đối tượng.
  • Chúng ta có thể lưu trữ giá trị null trong các đối tượng wrapper. Ví dụ,
      // generates an error int a = null; // runs perfectly Integer a = null; 

Lưu ý : Các kiểu nguyên thủy hiệu quả hơn các đối tượng tương ứng. Do đó, khi hiệu quả là yêu cầu, nó luôn được khuyến khích sử dụng các loại nguyên thủy.

thú vị bài viết...