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

Mục lục:

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

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

Video: Sự khác biệt giữa Lớp Wrapper và Kiểu Nguyên thủy trong Java
Video: Java Nâng Cao - Wrapper Class và Autoboxing 2024, Tháng mười một
Anonim

Sự khác biệt chính - Lớp Wrapper và Kiểu Nguyên thủy trong Java

Java là một 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 ưu điểm 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ách sử dụng các đối tượng. Một lớp được sử dụng như một bản thiết kế để tạo một đối tượng. Trong lập trình, cần phải 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 kiểu nguyên thủy được cung cấp bởi ngôn ngữ Java. Chúng là short, byte, int, float, double, char, boolean. Đôi khi, yêu cầu 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 trình bao bọc được sử dụng cho việc 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. 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 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.

Lớp Wrapper trong Java là gì?

Một lớp Wrapper trong Java được sử dụng để chuyển đổi kiểu dữ liệu nguyên thủy sang đối tượng và đối tượng thành 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à Vectơ lưu trữ các đối tượng. Do đó, bắt buộc phải sử dụng các lớp trình 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 trình bao bọc tương ứng cho long, float, double và boolean là Long, Float, Double và Boolean.

Sự khác biệt giữa Wrapper Class và Primitive Type trong Java
Sự khác biệt giữa Wrapper Class và Primitive Type trong Java

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

Theo chương trình trên, intobj là một đối tượng lớp Integer wrapper. Floatobj là một đối tượng lớp Float wrapper. Doubleobj là một đối tượng lớp Double wrapper. Đối tượng Integer được chuyển đổi thành một 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 một 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 người lập trình viết câu lệnh dưới dạng int i=intobj; trình biên dịch nội bộ ghi thànhbj. Value (). Quá trình tự động chuyển đổi một đối tượng của một lớp wrapper 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ì?

Kiểu dữ liệu nguyên thủy là 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ó dấu của hai. Kiểu dữ liệu ngắn được sử dụng để lưu trữ số nguyên bổ sung 16 bit có dấu hai của. Một kiểu dữ liệu int được sử dụng để lưu trữ số nguyên bổ sung của hai có dấu 32-bit trong khi kiểu dữ liệu dài được sử dụng để lưu trữ số nguyên bổ sung của hai bổ sung 64-bit có dấu. Phao được sử dụng để lưu trữ giá trị dấu phẩy động 32-bit chính xác đơn và giá trị kép được sử dụng để lưu trữ giá trị dấu chấm động 64-bit chính xác kép. Boolean được sử dụng để biểu thị true hoặc false. Char được sử dụng để lưu trữ một ký tự. Đó là tám kiểu nguyên thủy trong Java.

Sự khác biệt chính giữa Wrapper Class và Primitive Type trong Java
Sự khác biệt chính giữa Wrapper Class và Primitive Type trong Java

Hình 02: Chương trình Java chuyển đổi các Kiểu Nguyên thủy sang Lớp gói

Theo chương trình trên, num1 là một kiểu int. Nó được chuyển đổi thành Số nguyên bằng cách chuyển num1 tới 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 vào Float.valueOf (). Tương tự, double1 có thể lưu trữ các giá trị kép. Nó được chuyển đổi thành kiểu Double bằng cách chuyển double1 vào Double.valueOf (). Nếu người lập trình viết câu lệnh dưới dạng Interger intobj=num1; trình biên dịch ghi nội bộ Integer.valueOf (num1); Quá trình tự động chuyển đổi kiểu nguyên thủy sang đối tượng lớp trình bao bọc tương ứng được gọi là tự động đóng hộp.

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

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à gì?

Wrapper Class so với Primitive Type trong Java

Lớp Wrapper cung cấp 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ị rỗng
Các đối tượng của lớp trình bao bọc cho phép các giá trị rỗng. Kiểu dữ liệu nguyên thủy không cho phép giá trị rỗng.
Yêu cầu bộ nhớ
Bộ nhớ bắt buộc cao hơn các loại nguyên thủy. Chỉ mục theo cụm không yêu cầu thêm khoảng trống. Bộ nhớ cần thiết thấp hơn so với các lớp trình 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. Kiểu nguyên thủy không được sử dụng với các bộ sưu tập.

Tóm tắt - Lớp Wrapper và Kiểu Nguyên thủy trong Java

Ngôn ngữ Java cung cấp tám kiểu 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 có thể chuyển đổi các đối tượng trở lại nguyên thủy. Các lớp gói có thể được sử dụng để đạt được nhiệm vụ đó. Sự khác biệt giữa lớp wrapper và kiểu nguyên thủy trong Java là lớp wrapper được sử dụng để 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 trong khi kiểu nguyên thủy là 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.

Đề xuất: