输入Mismatch Java

时间:2012-10-11 21:48:08

标签: java

我有一个名为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()添加字符串时,没有问题。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

是的... LinkedList.add会返回boolean(始终为true)。您无法将该返回值分配给数组,因为类型不匹配。目前还不清楚你在尝试尝试做什么......也许你想要:

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

  

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

这完全不清楚你的意思,但是如果你只是将代码中DictEntry的每一次出现更改为String,那么你的完全就是问题

答案 1 :(得分:1)

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

右侧必须是DictEntry

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

add()的返回值是表示成功或失败的布尔值。 (对于链表,它总是如此。)