Java – Autoboxing và Unboxing

Autoboxing được giới thiệu từ Java 1.5. Autoboxing và Unboxing là một cách thuận tiện cho việc chuyển đổi các kiểu dữ liệu cơ bản sang các class Java wrapper tương ứng và ngược lại

Autoboxing

Autoboxing trong Java dùng để chuyển đổi các kiểu dữ liệu cơ bản thành object của class wrapper tương ứng. Ví dụ chúng ta có thể chuyển đổi int thành Integer hoặc chuyển đổi long thành Long object.

Trình biên dịch Java áp dụng Autoboxing khi giá trị là:

  • Được truyền như một tham số cho một phương thức mà yêu cầu một object của class wrapper tương ứng. Ví dụ một phương thức yêu cầu tham số kiểu Integer có thể được gọi bằng cách truyền int, trình biên dịch Java sẽ tự động chuyển đổi int thành Integer
  • Được gán cho một biến của class wrapper tương ứng. Ví dụ gán một Long object cho biến kiểu long.

Unboxing

Chuyển đổi một object của kiểu wrapper thành kiểu dữ liệu cơ bản tương ứng được gọi là unboxing. Ví dụ như chuyển đổi Integer thành int

Trình biên dịch Java áp dụng unboxing khi object của class wrapper là:

  • Được truyền như một tham số cho một phương thức mà yêu cầu một giá trị của kiểu dữ liệu cơ bản tương ứng.
  • Được gán cho một biến của kiểu dữ liệu cơ bản tương ứng

Ví dụ

Sau đây là ví dụ về AutoBoxing và Unboxing

Kết quả

Ưu điểm

  • Giúp cho việc viết chú thích rõ ràng hơn
  • Giúp cho chúng ta có thể sử dụng hoán đổi kiểu dữ liệu cơ bản và class wrapper mà không cần typecasting

You May Also Like

About the Author: Nguyen Dinh Thuc

Leave a Reply

avatar
  Subscribe  
Notify of