java - 列表上不区分大小写的搜索(搜索词可以是单词或句子的一部分)

标签 java android list search

我无法找到一种方法来在列表上执行不区分大小写的搜索,并且同时不使其特定于单词。例如,搜索“anim”将从列表中返回具有该序列中的这些字符的结果,因此如果存在单词“animal”,则将返回该列表条目。对于“als ea”之类的内容也是如此,因此如果列表中存在“动物吃草”或类似内容,请返回该条目。

目前我的列表看起来像

List<Animal> animals = database.getAllAnimals();

基本上从动物那里获取所有数据,然后我想用搜索词过滤整个数据(我知道这可能不是最有效的方法,可以在 SQL 中完成,但这就是我需要的方式),现在让我们假设 searchTerm = "abc" ,然后使 animals 列表仅包含返回肯定搜索结果的条目。

最佳答案

好的,我现在了解你的问题了。运行这段代码,看看它做了什么。

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。我不知道为什么你的不返回任何内容。但是你需要检查是否使用正确的大小写进行比较。也就是说,如果你的数据库中有 Animal,则由于区分大小写,使用 anim 进行搜索将不会返回任何内容。

关于java - 列表上不区分大小写的搜索(搜索词可以是单词或句子的一部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22593721/

相关文章:

java - 更新 Android Studio 后无法转换对象“org.gradle.api.internal...”

android - 如何在android中的第一个索引处动态地将项目添加到微调器?

python - 如何在嵌套列表中根据其内部列表的第一个元素获取所有最小元素?

linux - 如何获得 shell 脚本中的函数列表?

list - scala 返回第一个列表中的一些

java - 如何将 temp 中的字符串分配给 returnString?

java - 从下拉列表中选择元素

android - java.lang.reflect.InvocationTargetException 在进行应用更新时

java - 处理 hibernate 实体上的数据库 View 的优雅方法?

java - ORA-28040 : No Authentication protocol