Video: Java - 80: Lớp generic 2025
class generic trong Java là một lớp có thể hoạt động trên một kiểu cụ thể được chỉ định bởi lập trình viên lúc biên dịch thời gian. Để thực hiện điều này, định nghĩa lớp sử dụng tham số kiểu s hoạt động như các biến đại diện cho các kiểu (chẳng hạn như int hoặc String).
Để tạo một lớp generic, bạn liệt kê các thông số type sau tên lớp trong các dấu ngoặc góc. Tham số loại chỉ định một tên mà bạn có thể sử dụng trong toàn bộ lớp bất cứ nơi nào bạn muốn sử dụng một loại. Ví dụ, đây là một phiên bản đơn giản của khai báo lớp cho lớp ArrayList:
public class ArrayList
Tôi đã bỏ các phần mở rộng và thực hiện các mệnh đề để tập trung vào tham số kiểu chính thức:. Tham số E xác định loại của các phần tử được lưu trữ trong danh sách.
Để tạo một thể hiện của một lớp generic, bạn phải cung cấp kiểu thực tế sẽ được sử dụng thay cho tham số type, như sau:
ArrayList myArrayList;
Ở đây tham số E là String, do đó kiểu phần tử cho trường hợp này của lớp ArrayList là String.
public boolean add (E o) {/ / body of method pommitted (thank you)}Trường hợp bạn bạn sẽ thấy chữ E. Vì vậy, khai báo phương thức này chỉ ra rằng kiểu của tham số o là kiểu được chỉ định cho tham số kiểu chính thức E. Nếu E là Chuỗi, phương thức add chỉ chấp nhận các đối tượng String. Nếu bạn gọi phương thức add đi qua bất cứ thứ gì ngoài tham số String, trình biên dịch sẽ tạo ra một thông báo lỗi.
Public E get (int index) {// cơ thể bị bỏ qua (bạn được hoan nghênh)}
Ở đây, E được chỉ định là kiểu trả về. Điều đó có nghĩa là nếu E là String, phương thức này sẽ trả về các đối tượng String.
Lợi ích chính của Generics là kiểm tra kiểu xảy ra trong thời gian biên dịch. Vì vậy, sau khi bạn xác định giá trị của một tham số kiểu chính thức, trình biên dịch biết làm thế nào để làm các việc kiểm tra kiểu ngụ ý của tham số. Đó là cách mà nó không biết để bạn thêm các đối tượng String vào một bộ sưu tập Employee.