2012-10-01 157 views
0

首先我對Java沒有經驗。Java以相同類別的另一種方法調用方法

得到我的問題,我正在用我自己的方法實現我自己的列表。

public class MyList<E> implements List<E>{ 
..... 

一個這個方法返回我的列表的大小

public int getSize(){ 
.... 
} 

然後,我有其他兩種方法會更簡單,如果我能以某種方式將此方法應用於我的名單。怎麼會這樣?

我有了比較,如果給定的名單等於這個名單

public boolean equals(Lista<E> list){ 
.... 
} 

我雖然對第一比較兩個列表的大小的方法,如果他們不匹配,則返回false 。如果他們這樣做,它會繼續比較每個元素。這可能嗎?我將如何應用getSize?如果這是不可能的,我會比較元素。

我的另一種方法必須返回每個元素

public Object[] toArray() { 
    E myarray = new E[??] 

數組正如你看到的,我不」知道如何聲明數組。我必須事先知道我的名單的大小。我雖然關於通過作爲論點(這將解決問題),但我需要解決這個問題。

回答

0

只需使用getSize()方法:

E myarray = new E[getSize()]; 
+2

'新的E [']'不能編譯。 :) –

1

你叫list.getSize(),就像這樣:

if (list.getSize() != this.getSize()) { 
    return false; 
} 
+0

我明白了。我用這個來引用這個列表。謝謝! – Alessandroempire

1

因爲你不能用Java創建通用的數組,你就必須做

public Object[] toArray() { 
    E[] myarray = (E[]) new Object[this.getSize()]; 
相關問題