HI我想用一个字符串数组检查一个字符串值。我使用contains()
方法,但它区分大小写。例如:
String str="one";
String [] items= {"ONE","TWO","THREE"};
str.contains(items); // it is returning false.
现在的问题是如何检查该字符串?
任何人都可以帮助我吗?
提前致谢
答案 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");