将输入与对象arraylist进行比较

时间:2013-08-18 06:33:07

标签: java arraylist jpanel actionlistener jtextfield

我想将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);
    }
}

}

1 个答案:

答案 0 :(得分:0)

您正在创建新对象

Vocabulary vocab1 = new Vocabulary();

这将包含一个空的形容词列表。 因此,在进行如下检查之前,您必须首先填充形容词列表

vocab1.Adjectives.contains(hero) 

并使用contains而不是equals。