ArrayList<Integer> arrI = new ArrayList<Integer>();
ArrayList arrO = arrI; // Warning
/* It is ok to add a String as it is an ArrayList of Objects
but the JVM will know the real type, arrO is an arrayList of
Integer...
*/
arrO.add("Hello");
/* How I can get a String in an ArrayList<Integer> ??
Even if the compiler told me that I will get an Integer!
*/
System.out.println(arrI.get(0));
任何人都可以解釋這裏發生了什麼?泛型類型問題
您是否閱讀並理解警告?該警告告訴你,通過編寫這段代碼,你可以繞過arrI的所有編譯時類型檢查。 – DJClayworth
@DJClayworth好的,但最後一行真的很奇怪 – JohnJohnGa