Tại sao println
in "tom" và không hiển thị bất kỳ ngoại lệ thời gian chạy sau khi đúc để List<Integer>
, trong khi nó không có khả năng in các giá trị 1 sau khi đúc để List<String>
?Generics Danh sách <String> và Danh mục <Integer> không hành xử như mong đợi
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String args[]) {
List list = Arrays.asList(1, "tom");
System.out.println(((List<Integer>) list).get(1));
// "tom"
System.out.println(((List<String>) list).get(0));
// ClassCastException: Integer cannot be cast to String
}
}
Nó * là * hiển thị ngoại lệ thời gian chạy. – Maroun
nhận xét một loại danh sách tại một thời điểm để có được kết quả mong muốn tức là // Danh sách list3 = list1; // System.out.println (list3.get (0)); –
Aman