Autoboxing Và Unboxing Trong Java - VietTuts
Có thể bạn quan tâm
Nội dung chính
- Autoboxing và unboxing
- Lợi thế của của Autoboxing và Unboxing
- Ví dụ đơn giản về Autoboxing trong java
- Ví dụ đơn giản về Unboxing trong java
- Autoboxing và Unboxing với toán tử so sánh
- Autoboxing và Unboxing với nạp chồng phương thức
Autoboxing và unboxing
Việc chuyển đổi tự động các kiểu dữ liệu nguyên thủy thành kiểu Wrapper tương đương của nó được gọi là hoạt động autoboxing (hay boxing) và ngược lại được gọi là unboxing. Đây là tính năng mới của Java 5. Vì vậy, lập trình java không cần phải viết mã chuyển đổi.
Lợi thế của của Autoboxing và Unboxing
Tiết kiệm code: Không cần chuyển đổi giữa các nguyên thủy và Wrappers theo cách thủ công.
Ví dụ đơn giản về Autoboxing trong java
package vn.viettuts.javafeatures; public class BoxingExample1 { public static void main(String args[]) { int a = 50; Integer a2 = new Integer(a);// Boxing Integer a3 = 5; // Boxing System.out.println(a2 + " " + a3); } }Kết quả:
50 5Ví dụ đơn giản về Unboxing trong java
package vn.viettuts.javafeatures; public class UnboxingExample1 { public static void main(String args[]) { Integer i = new Integer(50); int a = i; // unboxing System.out.println(a); } }Kết quả:
50Autoboxing và Unboxing với toán tử so sánh
Unboxing có thể được thực hiện với các toán tử so sánh. Chúng ta hãy xem ví dụ về boxing với toán tử so sánh:
package vn.viettuts.javafeatures; public class UnboxingExample2 { public static void main(String args[]) { Integer i = new Integer(50); if (i < 100) { // unboxing System.out.println(i); } } }Kết quả:
50Autoboxing và Unboxing với nạp chồng phương thức
Ví dụ 1: widening (ép kiểu thu hẹp) và boxing, widening thắng boxing.
package vn.viettuts.javafeatures; public class Boxing1 { static void m(int i) { System.out.println("int"); } static void m(Integer i) { System.out.println("Integer"); } public static void main(String args[]) { short s = 30; m(s); } }Kết quả:
intVí dụ 2: widening và varargs, widening thắng varargs.
package vn.viettuts.javafeatures; public class Boxing2 { static void m(int... i) { System.out.println("int int"); } static void m(Integer i1, Integer i2) { System.out.println("Integer..."); } public static void main(String args[]) { short s1 = 30; short s2 = 40; m(s1, s2); } }Kết quả:
int intVí dụ 3: boxing thắng varargs
package vn.viettuts.javafeatures; public class Boxing3 { static void m(Integer i) { System.out.println("Integer"); } static void m(Integer... i) { System.out.println("Integer..."); } public static void main(String args[]) { int a = 30; m(a); } }Kết quả:
IntegerVí dụ 4: widening và boxing không được thực hiện:
package vn.viettuts.javafeatures; public class Boxing4 { static void m(Integer l) { System.out.println("Integer"); } public static void main(String args[]) { short a = 30; m(a); } }Kết quả:
Compile Time Error Static import trong java Annotation trong javaTừ khóa » Boxing/unboxing Là Gì
-
Boxing Và Unboxing - Nguyễn Anh Tuấn
-
Hãy Hạn Chế Dùng Boxing Và Unboxing Trong C# - CodeLearn
-
Boxing Và Unboxing Trong C# | For Better Life!
-
Hạn Chế Sử Dụng Boxing/unboxing – C# Best Practices | Tự Học ICT
-
Kiểu Dữ Liệu Object Trong C# | How Kteam
-
Autoboxing Và Unboxing Trong Java - GP Coder (Lập Trình Java)
-
Sự Khác Nhau Giữa Boxing And Un-Boxing? - Phỏng Vấn IT
-
Tại Sao Chúng Ta Cần Boxing Và Unboxing Trong C #? - HelpEx
-
Boxing Và Unboxing Trong C #
-
Quyền Anh Và Unboxing Là Gì Và Sự đánh đổi Là Gì? - HelpEx
-
Boxing/unboxing Và Casting Type In C# – CODER BLOG
-
Boxing Và Unboxing Dữ Liệu - Lập Trình Hướng đối Tượng Với C Docx
-
Boxing And Unboxing - C# Programming Guide - Microsoft Docs