public class Main {
public static <T> void foo(T[] bar) {
double d = (double) bar[0]; // Error : incompatible types
}
public static void main(String[] args) {
int[] int_buf = new int[8];
foo(int_buf);
}
}
Sự cố được chỉ ra trong mã.Tại sao các Generics Java không cho phép chuyển đổi kiểu trên các kiểu generic?
Tại sao tổng hợp Java không cho phép chuyển đổi loại trên các loại chung?
Nếu mảng đã cho là int [] chứ không phải là số nguyên [], có cách nào để làm cho nó hoạt động không? – xmllmx
Tuyệt vời đề cập rằng '' sẽ hoạt động; 1 từ tôi –
@xmllmx Nó sẽ không hoạt động vì 'int' là kiểu nguyên thủy không phải là kiểu đối tượng. – Satya