Bạn đã bỏ lỡ kiểu trả về, nhưng ngoài ra đó là một phương thức chung chung. Giống như các loại chung, T
là viết tắt của bất kỳ loại tham chiếu nào (trong giới hạn nếu được cung cấp).
Đối với các phương pháp, thông số chung thường được trình biên dịch suy ra. Trong những tình huống nhất định bạn có thể muốn chỉ định các đối generic chính mình, bằng cách sử dụng cú pháp hơi khác thường:
List<String> strings = Collections.<String>emptyList();
Trong trường hợp này, trình biên dịch có thể đã suy ra các loại, nhưng nó không phải luôn luôn rõ ràng cho dù trình biên dịch có thể hoặc có thể' t. Lưu ý, <>
là sau dấu chấm. Vì lý do cú pháp, tên của kiểu hoặc đối tượng đích phải luôn được xác định.
Có thể có các nhà xây dựng chung, nhưng tôi chưa bao giờ thấy một nhà khai thác hoang dã và cú pháp trở nên tồi tệ hơn.
Tôi tin rằng cú pháp C++ và C# đặt các loại chung sau tên phương thức/hàm.
Nguồn
2009-07-07 15:53:17
Ý của bạn là: public static int binarySearch (Danh sách Mở rộng So sánh super T>> danh sách, khóa T) trong Bộ sưu tập? Nó chỉ là một kiểu generic, trong trường hợp này nếu khóa của bạn là một String, thì Danh sách của bạn phải là các phần tử thực hiện Comparable có thể so sánh Strings. Không có gì quyết định những gì T bằng, nó chỉ là kiểm tra thời gian biên dịch. –
JeeBee
Vâng đó là ý tôi. – quilby