2012-10-11 45 views
0

我有一個名爲DictEntry的單獨的類。在我自己的類字典,我有類型Miss-Match Java

private LinkedList<DictEntry> dictList = new LinkedList<DictEntry>(); //initiate linked list 
private int sizeOfArray; //variable for size of Array [must be prime number] 
private DictEntry table[] = new DictEntry[sizeOfArray]; // array of type DictEntry 
table[keyCode]= dictList.add(pair); //[ERROR] Type MissMatch, Cannot Convert boolean to type DictEntry 

我已經宣佈的陣列和鏈表類型DictEntry,爲什麼它仍然要求布爾?

當我將LinkedList聲明爲String並使用.add()添加一個字符串時,沒有任何問題。

任何想法?

回答

4

那麼是... LinkedList.add返回boolean(總是true)。您不能將該返回值分配給數組,因爲類型不匹配。目前尚不清楚你試圖什麼做雖然......也許你想:

dictList.add(pair); 
table[keyCode] = pair; 

當我將LinkedList聲明爲String並使用.add()添加字符串時,沒有任何問題。

這不是完全清楚你這個是什麼意思,但如果你只需要改變的DictEntry每次出現在你的代碼String,你會得到完全相同同樣的問題。

+0

我想要做的是當一個對象的多個實例佔用相同的數組索引時,使用單獨的鏈來解決衝突問題。有沒有辦法讓數組指向鏈表的開始,這就是我把它們放在同一行中的原因。 – user1234440

+0

@ user1234440:您的評論在很多方面都非常不明確。你甚至需要*兩個單獨的集合(一個數組和一個鏈表)?不幸的是,由於您在此沒有給我們提供任何背景信息,因此我們無法解決您的根本問題 - 只是您提供的片段。 (將方法調用和數組賦值放在同一個語句中並不會使它們成爲原子,順便說一下......) –

1
table[keyCode] = /*...*/ 

右側必須是DictEntry

/*...*/ = dictList.add(pair) 

add()返回值是指示成功或失敗一個布爾值。 (對於一個鏈表,它總是如此。)