Test t1 = new Test();
Ở đây bạn đang sử dụng Loại thô. tức là, không vượt qua Type argument
cho số generic clas
của bạn.
trình biên dịch sẽ cung cấp cho bạn một cảnh báo ở đây
thử nghiệm là một loại nguyên liệu. Tài liệu tham khảo để loại thử nghiệm chung chung nên tham số
Test<String> t2 = new Test<String>();
đây bạn đang sử dụng Generics. chuyển chuỗi dưới dạng type argument
tới số generic class
của bạn.
Test t3 = new Test<String>();
trình biên dịch cũng nên cung cấp cho bạn một cảnh báo ở đây quá:
- thử nghiệm là một loại nguyên liệu. Tài liệu tham khảo để loại thử nghiệm chung chung nên được tham số
tương tự như trường hợp đầu tiên của bạn, nhưng bạn đang sử dụng kiểu tham số khi gọi các nhà xây dựng.
Ngoài ra còn có một lớp khác hoạt động tốt trong phiên bản + java 7.
Test<String> t4 = new Test<>();
Không biên dịch cảnh báo ở đây nếu bạn sử dụng + java 7 do suy luận kiểu
Trong trường hợp này do giới thiệu type inference
loại generic được suy ra, do đó bạn không cần phải cung cấp generic loại trong quá trình khởi tạo hàm tạo.
Hầu như thật. Hai cảnh báo quảng cáo duy nhất khác, nhưng không phải là lỗi biên dịch thực. –