Wildcard la gi
21/06/2021 02:02 Show
Trong bài viết này, chúng ta sẽ thảo luận về Wildcard trong Java. Wildcard (Ký tự đại diện) trong Java là một khái niệm hữu ích trong Java Generics. Chúng ta sẽ tìm hiểu Wildcard trong Java là gì và làm thế nào chúng ta có thể kết hợp nó vào các chương trình Java của mình. Có 3 loại ký tự đại diện trong Java: Ký tự đại diện giới hạn trên, Ký tự đại diện giới hạn dưới và Ký tự đại diện không giới hạn. Chúng ta sẽ thảo luận về từng loại ký tự cùng các ví dụ cụ thể của nó trong bài viết dưới đây.
Wildcard trong Java là gì?Các ký tự đại diện trong Java về cơ bản là những dấu hỏi mà chúng ta sử dụng trong lập trình chung, về cơ bản nó đại diện cho các kiểu chưa biết. Chúng ta sử dụng Java Wildcard rộng rãi trong các tình huống như trong một loại tham số, biến cục bộ hoặc trường và cũng như một kiểu trả về. Wildcard trong Java là gì? Không giống như mảng, các cách khởi tạo khác nhau của một kiểu chung không tương thích với nhau, thậm chí không rõ ràng. Chúng ta có thể loại bỏ sự không tương thích này bằng cách sử dụng ký tự đại diện '?' như một tham số kiểu thực tế. Các ký tự đại diện không là gì ngoài dấu chấm hỏi (?) mà bạn sử dụng trong Java Generics. Chúng ta có thể sử dụng Java Wildcard như một biến cục bộ, tham số, trường hoặc như một kiểu trả về. Tuy nhiên, khi lớp chung được khởi tạo hoặc khi một phương thức chung được gọi, chúng ta không thể sử dụng các ký tự đại diện. Ký tự đại diện rất hữu ích để loại bỏ sự không tương thích giữa các bản khởi tạo khác nhau của một kiểu chung. Sự không tương thích này được loại bỏ bằng cách sử dụng các ký tự đại diện ? như một tham số kiểu thực tế. Tham số Wildcard trong JavaCó hai loại tham số mà chúng ta truyền cho một phương thức dưới dạng tham số vào và tham số ra, đó là :
>>> Đọc thêm: Gắn kết tĩnh gắn kết động trong Java - Sự khác biệt và ví dụ cụ thể Các loại ký tự đại diện trong Java
Các loại ký tự đại diện trong Java Ký tự đại diện được giới hạn trên trong - Upper Bounded Wildcards trong JavaCác ký tự đại diện Giới hạn trên là ký tự đại diện giúp giảm bớt hạn chế của loại biến. Nghĩa là, nếu chúng ta muốn nới lỏng giới hạn về loại biến trong phương thức, chúng ta có thể sử dụng loại ký tự đại diện này. Ví dụ: chúng ta đang sử dụng ký tự đại diện giới hạn trên trong phương thức sum để tính tổng của bất kỳ loại biến nào cho dù đó là biến kiểu int hay biến kiểu kép. >>> Đọc thêm: Đa luồng trong Java - Tìm hiểu về lập trình đa luồng trong Java Ký tự đại diện được giới hạn dưới - Lower Bounded Wildcards trong JavaChúng ta sử dụng ký tự đại diện Giới hạn dưới để mở rộng việc sử dụng loại biến. Ví dụ, nếu chúng ta muốn thêm danh sách các số nguyên trong phương thức của mình, chúng ta có thể sử dụng List Ví dụ: package com.techvidvan.wildcards; import java.util. * ; public class LowerBoundWildcard { public static void main(String[] args) { //Lower Bounded Integer List List < Integer > intList = Arrays.asList(10, 20, 30, 40); //Passing Integer list object printOnlyIntegerClassorSuperClass(intList); //Number list List < Number > numberList = Arrays.asList(10, 20, 30, 40); //Passing Integer list object printOnlyIntegerClassorSuperClass(numberList); } public static void printOnlyIntegerClassorSuperClass(List < ?super Integer > list) { System.out.println(list); } } Output [10, 20, 30, 40] [10, 20, 30, 40] Ký tự đại diện không bị ràng buộc - Unbounded Wildcards trong JavaChúng ta sử dụng các ký tự đại diện Không bị ràng buộc khi chúng ta muốn chỉ định loại ký tự đại diện có ký tự đại diện ?. Chúng ta thường sử dụng ký tự đại diện này khi mã bên trong phương thức đang sử dụng chức năng Đối tượng và cũng như khi mã bên trong phương thức không phụ thuộc vào kiểu tham số. Ví dụ: package com.techvidvan.wildcards; import java.util. * ; public class UnboundedWildcard { public static void main(String[] args) { //Integer List List < Integer > intList = Arrays.asList(10, 20, 30, 40); //Double list List < Double > doubleList = Arrays.asList(11.5, 13.6, 67.8, 43.7); printList(intList); printList(doubleList); } private static void printList(List < ?>list) { System.out.println(list); } } Output [10, 20, 30, 40] [11.5, 13.6, 67.8, 43.7] >>> Tham khảo: Khóa học lập trình Java Hướng dẫn sử dụng Wildcard trong JavaDưới đây là hướng dẫn sử dụng từng loại biến trong các trường hợp sau:
Kết luận: Trong bài viết này, chúng ta đã nghiên cứu ký tự đại diện trong java. Chúng ta sử dụng Wildcard trong Java trong khi sử dụng các ký tự chung trong Java. Các ký tự đại diện giúp chúng ta cung cấp phương tiện truyền kiểu tham số thực tế. Có ba loại ký tự đại diện trong Java là ký tự đại diện Giới hạn trên , Giới hạn dưới và ký tự đại diện Không giới hạn. Chúng ta đã thảo luận về từng ví dụ trong số chúng hy vọng bài viết này sẽ giúp bạn trong việc xây dựng khái niệm của bạn về Wildcard Trong Java. Đừng quên tìm hiểu thêm về Java và các ngôn ngữ lập trình khác qua các khóa học lập trình tại Viện công nghệ thông tin T3H. |