Wildcard la gi

  • Blog
  • Tin tức

21/06/2021 02:02

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 Java

Có 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à :

  • in variable: là một biến cung cấp dữ liệu thực tế cho chương trình Java. Ví dụ, có một phương thức myMethod [nguồn, đích]. Trong phương thức này, nguồn đóng vai trò là một biến trong phương thức.
  • Out variable: là một biến trong đó dữ liệu cập nhật được chương trình java lưu trữ. Ví dụ, có một phương thức myMethod [nguồn, đích]. Trong phương thức này, đích hoạt động như một biến ngoài của phương thức.

>>> Đọ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

  1. Ký tự đại diện giới hạn trên
  2. Ký tự đại diện giới hạn dưới
  3. Ký tự đại diện không giới hạn

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 Java

Cá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 Java

Chú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 , nhưng sử dụng nó, chúng ta sẽ bị ràng buộc chỉ sử dụng danh sách các số nguyên. Vì vậy, ở đây, chúng ta cũng có thể sử dụng Danh sách và Danh sách để lưu danh sách các số nguyên. Vì vậy, chúng ta sử dụng ký tự đại diện Lower Bound để đạt được điều này. Chúng ta có thể sử dụng điều này bằng một ký tự đại diện? và đặt một từ khóa siêu sau đó, theo sau là giới hạn dưới.

Ví dụ:

Chủ Đề