在String数组中搜索String

时间:2013-08-02 20:46:52

标签: java arrays operators

在编写我的程序时,我遇到了另一个不愉快的路障。

if(StringTerm[0].equals("wikipedia"))
        {
            StringBuilder SearchTermBuilder = new StringBuilder();
            for(int i = 1; i < StringTerm.length; i++)
            {
                SearchTermBuilder.append(StringTerm[i] + " ");
            }
            // This is the string it outputs. 
            WIKI_ID = "Wikipedia";
            SearchTerm = SearchTermBuilder.toString();
            SearchTermFull = WikiBaseLinkReference.WIKI_WIK + SearchTermBuilder.toString();
        }

此代码检查来自控制台命令“/ wiki”的输入,并检查“wiki”一词后面的第一个字符串是否与“wikipedia”匹配,如果是,则构建一个字符串以匹配我希望它执行的操作

这一切都很好,程序运行正常,但我希望用户能够使用不同的关键字来获得相同的结果。

例如:如果我输入/ wiki wikipedia,它会和/ wiki pediawiki一样

如果我创建了一个名为WIKIPEDIA的不同名称的数组

public static String WIKIPEDIA[] = {"wikipedia","pediawiki"};

我如何告诉if语句检查输入的文本是否等于我的数组中的一个字符串?每次我尝试使用||或运营商它给我一些错误。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您需要“any”的版本:

public boolean any(String[] array, String s) {
    for(String value : array) {
        if(s.equals(value)) { return true; }
    }
    return false;
}

然后

if(any(WIKIPEDIA, "wikipedia")) {
}