Java,如果列表中修剪的字符串包含字符串,则返回
在Java中,我想检查字符串是否存在于.List<String> myList
像这样:
if(myList.contains("A")){
//true
}else{
// false
}
问题是 myList 可以包含未修剪的数据:
{' A', 'B ', ' C '}
如果我的项目在列表中,我希望它返回 true。我应该怎么做?我想避免循环结构。'B'
在Java中,我想检查字符串是否存在于.List<String> myList
像这样:
if(myList.contains("A")){
//true
}else{
// false
}
问题是 myList 可以包含未修剪的数据:
{' A', 'B ', ' C '}
如果我的项目在列表中,我希望它返回 true。我应该怎么做?我想避免循环结构。'B'
使用 Java 8 Stream API:
List<String> myList = Arrays.asList(" A", "B ", " C ");
return myList.stream().anyMatch(str -> str.trim().equals("B"));
您需要迭代列表并调用 String#trim
进行搜索:
String search = "A";
for(String str: myList) {
if(str.trim().contains(search))
return true;
}
return false;
或者,如果要执行忽略事例搜索,请使用:
search = search.toLowerCase(); // outside loop
// inside the loop
if(str.trim().toLowerCase().contains(search))