Java - 在字符串数组中搜索字符串

新手上路,请多包涵

在java中我们有什么方法可以找到一个特定的字符串是字符串数组的一部分。我可以在我想避免的循环中做。

例如

String [] array = {"AA","BB","CC" };
string x = "BB"

我想要一个

if (some condition to tell whether x is part of array) {
      do something
   } else {
     do something else
   }

原文由 Hari M 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 763
2 个回答

执行以下操作:

 Arrays.asList(array).contains(x);

因为如果字符串 x 存在于数组中,则返回 true (现在转换为列表…)

例子:

 if(Arrays.asList(myArray).contains(x)){
    // is present ... :)
}


从 Java8 开始,有一种方法可以使用流来找到:

 boolean found = Arrays.stream(myArray).anyMatch(x::equals);
if(found){
    // is present ... :)
}

原文由 ΦXocę 웃 Пepeúpa ツ 发布,翻译遵循 CC BY-SA 4.0 许可协议

您还可以使用 Apache 的 commons-lang 库,它提供了非常受欢迎的方法 contains

 import org.apache.commons.lang.ArrayUtils;

public class CommonsLangContainsDemo {

    public static void execute(String[] strings, String searchString) {
        if (ArrayUtils.contains(strings, searchString)) {
            System.out.println("contains.");
        } else {
            System.out.println("does not contain.");
        }
    }

    public static void main(String[] args) {
        execute(new String[] { "AA","BB","CC" }, "BB");
    }

}

原文由 Arthur Noseda 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题