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))
 
				    		 
				    		 
				    		 
				    		