Sự khác biệt giữa lớp Wrapper và Kiểu nguyên thủy trong Java

Sự khác biệt chính - Wrapper Lớp học vs Kiểu nguyên thủy trong Java
 

Java là ngôn ngữ lập trình phổ biến được sử dụng để phát triển các ứng dụng khác nhau. Một lợi thế của Java là nó hỗ trợ Lập trình hướng đối tượng (OOP). Sử dụng OOP, chương trình hoặc phần mềm có thể được mô hình hóa bằng các đối tượng. Một lớp được sử dụng như một kế hoạch chi tiết để tạo ra một đối tượng. Trong lập trình, cần lưu trữ dữ liệu. Các vị trí bộ nhớ dành riêng để lưu trữ dữ liệu được gọi là các biến. Mỗi biến có một kiểu dữ liệu cụ thể. Có tám loại nguyên thủy được cung cấp bởi ngôn ngữ Java. Chúng ngắn, byte, int, float, double, char, boolean. Đôi khi, cần phải chuyển đổi kiểu nguyên thủy thành một đối tượng và đối tượng trở lại kiểu nguyên thủy. Các lớp bao bọc được sử dụng cho chuyển đổi này. Bài viết này thảo luận về sự khác biệt giữa lớp trình bao bọc và kiểu nguyên thủy trong Java. Các sự khác biệt chính giữa lớp trình bao bọc và kiểu nguyên thủy trong Java là Lớp trình bao bọc được sử dụng để chuyển đổi một kiểu nguyên thủy thành một đối tượng và đối tượng trở lại kiểu nguyên thủy trong khi một kiểu nguyên thủy là một kiểu dữ liệu được xác định trước do ngôn ngữ lập trình Java cung cấp.

NỘI DUNG

1. Tổng quan và sự khác biệt chính
2. Lớp Wrapper trong Java là gì
3. Kiểu nguyên thủy trong Java là gì
4. Điểm tương đồng giữa lớp Wrapper và Kiểu nguyên thủy trong Java
5. So sánh cạnh nhau - Lớp trình bao bọc và Kiểu nguyên thủy trong Java ở dạng bảng
6. Tóm tắt

Lớp Wrapper trong Java là gì?

Một lớp Wrapper trong Java được sử dụng để chuyển đổi một kiểu dữ liệu nguyên thủy thành một đối tượng và đối tượng thành một kiểu nguyên thủy. Ngay cả các kiểu dữ liệu nguyên thủy cũng được sử dụng để lưu trữ các kiểu dữ liệu chính, các cấu trúc dữ liệu như Danh sách mảng và các đối tượng lưu trữ Vectơ. Do đó, cần phải sử dụng các lớp bao bọc để chuyển đổi. Các lớp trình bao bọc tương ứng cho các kiểu nguyên thủy char, byte, short và int là Character, Byte, Short và Integer. Các lớp bao bọc tương ứng cho dài, float, double và boolean là Long, Float, Double và Boolean.

Hình 01: Chương trình Java chuyển đổi các lớp Wrapper thành các kiểu nguyên thủy

Theo chương trình trên, intobj là một đối tượng lớp bao bọc Integer. Floatobj là một đối tượng lớp bao bọc Float. Doubleobj là một đối tượng lớp bọc đôi. Đối tượng Integer được chuyển đổi thành int nguyên thủy bằng cách sử dụng intValue (). Tương tự, đối tượng Float được chuyển đổi thành float nguyên thủy bằng cách sử dụng floatValue (). Đối tượng Double được chuyển đổi thành double nguyên thủy bằng cách sử dụng doubleValue (). Nếu lập trình viên viết câu lệnh là int i = intobj; trình biên dịch nội bộ ghi intobj.Value (). Quá trình tự động chuyển đổi một đối tượng của lớp bao bọc sang kiểu nguyên thủy tương ứng của nó được gọi là unboxing. Các bộ sưu tập như ArrayLists sử dụng lớp Wrapper vì chúng lưu trữ các đối tượng.

Kiểu nguyên thủy trong Java là gì?

Các kiểu dữ liệu nguyên thủy là các kiểu dữ liệu được xác định trước được cung cấp bởi ngôn ngữ lập trình Java. Có tám loại nguyên thủy. Chúng là byte, short, int, long, float, double, boolean và char. Kiểu dữ liệu byte được sử dụng để lưu trữ số nguyên bổ sung 8 bit có chữ ký 8 bit. Kiểu dữ liệu ngắn được sử dụng để lưu trữ số nguyên bổ sung hai bit có chữ ký 16 bit. Một kiểu dữ liệu int được sử dụng để lưu trữ số nguyên bổ sung có hai chữ ký 32 bit trong khi kiểu dữ liệu dài được sử dụng để lưu trữ số nguyên bổ sung hai bit 64 bit. Phao được sử dụng để lưu trữ giá trị điểm nổi 32 bit chính xác đơn và nhân đôi được sử dụng để lưu trữ giá trị điểm nổi 64 bit chính xác kép. Boolean được sử dụng để đại diện cho đúng hoặc sai. Các char được sử dụng để lưu trữ một ký tự duy nhất. Đó là tám kiểu nguyên thủy trong Java.

Hình 02: Chương trình Java chuyển đổi các kiểu nguyên thủy thành các lớp trình bao bọc

Theo chương trình trên, num1 là một kiểu int. Nó được chuyển đổi thành một Integer bằng cách chuyển num1 đến Integer.valueOf (). Float1 có thể lưu trữ các giá trị float. Nó được chuyển đổi thành kiểu Float bằng cách chuyển float1 thành Float.valueOf (). Tương tự, double1 có thể lưu trữ giá trị gấp đôi. Nó được chuyển đổi thành loại Double bằng cách chuyển double1 thành Double.valueOf (). Nếu lập trình viên viết câu lệnh là Interger intobj = num1; trình biên dịch nội bộ ghi Integer.valueOf (num1); Quá trình chuyển đổi kiểu nguyên thủy thành đối tượng lớp trình bao bọc tương ứng được gọi là tự động.

Sự giống nhau giữa lớp Wrapper và Kiểu nguyên thủy trong Java?

  • Cả lớp Wrapper và Kiểu nguyên thủy trong Java đều có thể được sử dụng để lưu trữ dữ liệu trong lập trình.

Sự khác biệt giữa lớp Wrapper và Kiểu nguyên thủy trong Java?

Lớp Wrapper vs Kiểu nguyên thủy trong Java

Lớp Wrapper cung cấp một cơ chế để chuyển đổi kiểu nguyên thủy thành đối tượng và đối tượng thành kiểu nguyên thủy. Kiểu nguyên thủy là kiểu dữ liệu được xác định trước do Java cung cấp.
 Lớp liên kết
Một lớp Wrapper được sử dụng để tạo một đối tượng; do đó, nó có một lớp tương ứng. Một kiểu nguyên thủy không phải là một đối tượng nên nó không thuộc về một lớp.
Giá trị Null
Các đối tượng lớp bao bọc cho phép giá trị null. Kiểu dữ liệu nguyên thủy không cho phép giá trị null.
 Cần có bộ nhớ 
Bộ nhớ cần thiết cao hơn các loại nguyên thủy. Chỉ mục cụm không yêu cầu thêm dung lượng. Bộ nhớ cần thiết thấp hơn so với các lớp bao bọc.
Bộ sưu tập
Một lớp Wrapper có thể được sử dụng với một bộ sưu tập như ArrayList, v.v.. Một kiểu nguyên thủy không được sử dụng với các bộ sưu tập.

Tóm lược - Vỏ bánh Lớp học vs Kiểu nguyên thủy trong Java

Ngôn ngữ Java cung cấp tám loại dữ liệu nguyên thủy. Đôi khi cần phải chuyển đổi các kiểu nguyên thủy thành đối tượng và cũng để chuyển đổi các đối tượng trở lại nguyên thủy. Các lớp Wrapper có thể được sử dụng để đạt được nhiệm vụ đó. Sự khác biệt giữa lớp trình bao bọc và kiểu nguyên thủy trong Java là lớp trình bao bọc được sử dụng để chuyển đổi một kiểu nguyên thủy thành một đối tượng và đối tượng trở lại kiểu nguyên thủy trong khi kiểu nguyên thủy là kiểu dữ liệu được xác định trước do ngôn ngữ lập trình Java cung cấp.

Tài liệu tham khảo:

1. Lớp Wrapper trong java - Javatpoint. , Điểm Java. Có sẵn ở đây
2.Singh, Chaitanya. Lớp Wrapper trong Java. , Ngày 10 tháng 9 năm 2017. Có sẵn tại đây
3. Điểm, Hướng dẫn. Các kiểu dữ liệu cơ bản của Java. , Điểm hướng dẫn, ngày 27 tháng 10 năm 2017. Có sẵn tại đây