我正在使用ArrayList来保存问题及其答案。 ArrayList由Answer Class和Answer_marked组成,其答案类如下:
private class Answer {
private long question_no;
private ArrayList<long> answer;
public boolean equals(Object o) {
if (o instanceof Answer)
if (((Answer)o).question_no == this.question_no)
return true;
return false;
}
}
public ArrayList<Answer> answers = new ArrayList<Answer>();
现在,当用户更改答案时,我想查看答案arraylist并检查答案中是否已存在question_no。如果是,则更新答案的答案值。我试图使用contains方法来检查question_no是否已经存在,但它总是返回false。我在这做错了什么? 哪种其他数据结构最适合这样做?
我正在使用answers.contains(新答案(10,20))来查看问题10是否已经回答。
答案 0 :(得分:0)
如果您有一个ArrayList,则不应该answers.contains(10)
- 这不起作用.10是一个int,在equals()
中,如果o
不是{ {1}}然后您将返回Answer
。
相反,请尝试:
false