Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查字符串是否与字符串数组匹配_Java_String_Arraylist - Fatal编程技术网

Java 如何检查字符串是否与字符串数组匹配

Java 如何检查字符串是否与字符串数组匹配,java,string,arraylist,Java,String,Arraylist,如何检查字符串是否与字符串数组中的任何元素匹配 假设字符串数组包含{abcdef,ghijkl} 将其与字符串“abc”进行比较应返回第一个值 If一直在使用stringArray.contains(string)方法,但它似乎只有在完整字符串匹配时才起作用。即使字符串部分匹配,我也需要得到结果 任何帮助都将不胜感激没有不使用循环的方法。我知道您可能正在寻找一些不需要自写循环的实现。但是您必须循环。您可以使用indexOf方法: String[] contains(String[] string

如何检查字符串是否与字符串数组中的任何元素匹配

假设字符串数组包含{abcdef,ghijkl} 将其与字符串“abc”进行比较应返回第一个值

If一直在使用
stringArray.contains(string)
方法,但它似乎只有在完整字符串匹配时才起作用。即使字符串部分匹配,我也需要得到结果


任何帮助都将不胜感激

没有不使用循环的方法。我知道您可能正在寻找一些不需要自写循环的实现。但是您必须循环。

您可以使用
indexOf
方法:

String[] contains(String[] stringArray, String target) {
    String[] result = new String[2];

    for(int index = 0; index < stringArray.length; index++) {
        String current = stringArray[index];
        if (s.indexOf(target) >= 0) {
            result[0] = current;
            result[1] = String.valueOf(index);
        }
    }
}
String[]包含(String[]stringArray,String目标){
字符串[]结果=新字符串[2];
对于(int index=0;index=0){
结果[0]=当前值;
结果[1]=字符串.valueOf(索引);
}
}
}
流很方便:

Arrays.stream(stringArray)
  .filter(s -> s.contains(stringToSearch))
  .findFirst();

当然,您的需求可以归结为:在数组中查找以搜索字符串开头的第一个字符串。但实际上您的要求有点不清楚,所以您应该根据需要应用过滤器。例如,
contains()
startsWith()
之间有很大的区别

循环并检查每个元素所包含的内容?我感谢快速接受!我还可以获取stringArray中找到匹配项的位置吗?您可以使用字符串[]表示结果。结果[0]保留字符串,结果[1]保留位置。@jpsingh感谢回答堆栈溢出问题的人的最有效方法是单击复选标记按钮接受他的回答。如果这解决了你的问题,就接受这个答案。