0

我有一个名为 DictEntry 的单独类。在我自己的课堂词典中,我有

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

2 回答 2

4

嗯,是的......LinkedList.add返回一个boolean(总是true)。您不能将该返回值分配给数组,因为类型不匹配。目前尚不清楚您要做什么……也许您想要:

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

?

当我将 LinkedList 声明为 String 并使用 .add() 添加字符串时,没有问题。

完全不清楚您的意思是什么,但是如果您只是DictEntry将代码中的每次出现更改为String,您将遇到完全相同的问题。

于 2012-10-11T21:49:55.443 回答
1
table[keyCode] = /*...*/

它的右手边必须是DictEntry.

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

的返回值add()是一个指示成功或失败的布尔值。(对于链表,它总是正确的。)

于 2012-10-11T21:50:03.810 回答