tôi có các phương pháp sau:Generics Java: Vấn đề của trình biên dịch ở đây là gì? ("Không có trường hợp tối đa độc đáo")
public <T> T fromJson(Reader jsonData, Class<T> clazz) {
return fromJson(jsonData, (Type)clazz);
}
public <T> T fromJson(Reader jsonData, Type clazz) {
...
}
Trình biên dịch là nói về phương pháp đầu tiên:
type parameters of <T>T cannot be determined;
no unique maximal instance exists for type variable T
with upper bounds T,java.lang.Object
return fromJson(jsonData, (Type)clazz);
^
vấn đề là gì?
có ý nghĩa, cảm ơn – Epaga
Câu trả lời này không đúng. Mặc dù việc thực hiện phương thức thứ hai là * có thể * không an toàn kiểu (chúng ta không thể thấy việc thực hiện ở đây), không có gì * kỹ thuật * sai về việc khai báo phương thức thứ hai. – newacct
Đó không phải là những gì tôi nói. Đối số của tôi là 'Type' không có tham số chung, do đó, các diễn viên đổ bóng' T' từ 'Class' mà trình biên dịch nên sử dụng, do đó lỗi. Nhưng bạn chính xác rằng bạn có thể nói cho trình biên dịch biết loại có 'điều này. '. Tôi đã cải thiện câu trả lời của mình. –