我寫了一個接受泛型類的類,我試圖在其中創建一個泛型數組的數組列表。我明白Java can't create generic arrays,但我也知道there are workarounds。下面的代碼可以工作,或者我吠叫錯誤的樹嗎?如何在Java中創建通用數組的列表?
public class IterableContainer<T extends IterableItem> {
private T[] itemArray;
// how can i get this following line to work?
private List<T[]> items = new ArrayList<T[10]>();
public IterableContainer() {
... etc ...
忽略過去 - 這是一個IDE問題。
留下問題和答案的連續性。
編輯:
這也不起作用:
private List<T[]> items = new ArrayList<T[]>();
與錯誤:
Syntax error on token ">", VariableDeclaratorId expected after this token
我正在爲移動設備開發,所以請儘可能使用基本類型,因爲它認爲資源不足。這是我不應該擔心的事嗎? – Martyn 2011-06-15 13:35:27
你過早地優化 – 2011-06-15 16:40:52
@Martyn:一個ArrayList只是一個有幾個字節開銷和一個更好的接口的數組。它會稍微慢一些,並且會封裝你在通用數組中遇到的所有麻煩。 – 2011-06-15 16:54:46