我想将JTextField的输入与字符串arraylist中的所有元素进行比较。如果输入等于列表中的元素,我希望程序通过说“这是我的词汇表”来确认,如果不是,我希望程序说“这不是我的词汇。 “在我的代码中,我尝试过这个工作,我总是得到消息“这不是我的词汇。”即使输入与列表中的元素匹配。我怎样才能让它正常工作?
这是我的代码,其中AI是正在比较的列表的位置。
package Important;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
import AI.*;
public class TextActions implements ActionListener{
private String hero;
private Vocabulary vocab1 = new Vocabulary();
public void actionPerformed(ActionEvent e) {
e.getSource();
hero = e.getActionCommand();
if (vocab1.Adjectives.equals(hero)){
System.out.println("This word is in my vocab");
}else{
System.out.println( hero + " is not in my vocab");
}
//CompareWords(hero);
}
public void CompareWords(String readme){
if (vocab1.Adjectives.contains(readme)){
//System.out.println("This word is in my vocab");
}
}
}
这是所要求的词汇表类。
package AI;
import java.util。*;
公共课词汇{
//String[] thoughts;
public List<String> Adjectives = new ArrayList<String>();
public void AddWord(int ArrayListNumber, String WordEntered){
if(ArrayListNumber == 1){
Adjectives.add(WordEntered);
}
}
}
答案 0 :(得分:0)
您正在创建新对象
Vocabulary vocab1 = new Vocabulary();
这将包含一个空的形容词列表。 因此,在进行如下检查之前,您必须首先填充形容词列表
vocab1.Adjectives.contains(hero)
并使用contains而不是equals。