我目前正在使用属于ArrayList类的contains方法进行搜索。在java中有没有办法让这种搜索不区分大小写?我发现在C#中可以使用OrdinalIgnoreCase。有没有java的等价物,或者另一种方法来做到这一点?谢谢。
发布于 2012-01-06 07:38:00
您可以像使用任何其他ArrayList一样使用它。您可以将此列表传递给其他代码,并且外部代码不必理解任何字符串包装器类。
public class CustomStringList3 extends ArrayList<String> {
@Override
public boolean contains(Object o) {
String paramStr = (String)o;
for (String s : this) {
if (paramStr.equalsIgnoreCase(s)) return true;
}
return false;
}
}
发布于 2016-08-03 23:33:13
在Java8中,使用anyMatch
List<String> list = Arrays.asList("XYZ", "ABC");
String matchingText = "xYz";
boolean isMatched = list.stream().anyMatch(matchingText::equalsIgnoreCase);
发布于 2014-03-04 05:45:31
如果您使用的是Java 8,请尝试:
List<String> list = ...;
String searchStr = ...;
boolean containsSearchStr = list.stream().filter(s -> s.equalsIgnoreCase(searchStr)).findFirst().isPresent();
https://stackoverflow.com/questions/8751455
复制相似问题