如何在java中检查字符串数组的字符串?

时间:2011-07-30 08:22:43

标签: java

HI我想用一个字符串数组检查一个字符串值。我使用contains()方法,但它区分大小写。例如:

String str="one";
String [] items= {"ONE","TWO","THREE"};

str.contains(items); // it is returning false.

现在的问题是如何检查该字符串?

任何人都可以帮助我吗?

提前致谢

3 个答案:

答案 0 :(得分:7)

您可能想知道项目是否包含 str ?并且不区分大小写。所以循环遍历数组:

boolean contains = false;
for (String item : items) {
    if (str.equalsIgnoreCase(item)) {
        contains = true;
        break; // No need to look further.
    } 
}

答案 1 :(得分:2)

您可以先使用stringArray=Arrays.sort(stringArray);对字符串进行排序,然后使用二进制搜索算法int pos = Arrays.binarySearch(stringArray, stringItem);if (pos > -1)然后您找到stringItem中不存在stringArray的其他元素。

答案 2 :(得分:1)

如果您只检查一次:

    String str="one"; String [] items= {"ONE","TWO","THREE"};

    for(String s : items){
        if(s.compareToIgnoreCase(str) == 0){
            System.out.println("match");
        }
    }

如果你要做很多检查:

    String str="one"; String [] items= {"ONE","TWO","THREE"};

    List<String> lowerItems = new ArrayList<String>();
    for(String s : items)
        lowerItems.add(s.toLowerCase());

    if(lowerItems.contains(str))
        System.out.println("match");