4
我試圖削減兩半的ArrayList<String>
。List.sublist(n,m)的視圖是什麼?
ArrayList<String> in = new ArrayList<>(), out1, out2;
out1 = (ArrayList<String>) in.subList(0,2); //will cause an ClassCastException: List cannot be casted to ArrayList
out2 = (ArrayList<String>) in.subList(2,5); // either here
爲什麼?什麼是視圖表示,哪個subList返回?
所以它是沒有ArrayList的既不是鏈表?子列表如何在內存中表示? – Joel
@Joel它由原始的ArrayList支持。 – Eran
爲什麼不僅僅是一個arrayList的實例? - 沒有返回原始類型的好處是什麼? – Joel