我无法找到一种方法来对列表执行不区分大小写的搜索,并且在sae时间不能使其具有特定的字。例如,搜索" anim"将从列表中返回具有该序列中的那些字符的结果,因此如果有单词" animal"该列表条目将被退回。类似于" als ea"所以如果有动物吃草"或者列表中的类似内容,返回该条目。
目前我的列表看起来像
List<Animal> animals = database.getAllAnimals();
基本上从动物那里获取所有数据,然后我想用搜索词来过滤这整个数据(我理解它可能不是最有效的方法,可以在SQL中完成,但我需要这样做),我们假设现在为searchTerm = "abc"
,然后使animals
列表仅包含返回正搜索结果的条目。
答案 0 :(得分:1)
好的,我现在再问你的问题了。运行这段代码,看看它的作用。
public class TestCompare {
public static void main (String[]args) {
String firstString = "hello";
boolean containsMySearch;
firstString = firstString.toUpperCase();
containsMySearch = firstString.contains("llo");
System.out.println("returns " + containsMySearch);
}
}
这会打印returns false
。但如果删除显示firstString = firstString.toUppercase()
的行,则会打印returns true
。我不知道你为什么不返回任何内容。但是你需要检查你是不是使用正确的情况进行比较。也就是说,如果在您的数据库中有动物,由于区分大小写,使用anim进行搜索将不会返回任何内容。