当前位置: 首页 > 面试题库 >

数组contains()没有区分大小写的查找?

东方森
2023-03-14
问题内容

我可以以某种方式告诉array.contains()方法不区分大小写吗?

List<String> data = Arrays.asList(
  "one", Two", "tHRee"); //lots of entries (100+)

data.contains("three");

问题答案:

contains只需检查列表中是否存在对象。因此,您不能在此处进行不区分大小写的查找,因为“三”与“三”是不同的对象。

解决此问题的简单方法是

public boolean containsCaseInsensitive(String s, List<String> l){
     for (String string : l){
        if (string.equalsIgnoreCase(s)){
            return true;
         }
     }
    return false;
  }

然后

containsCaseInsensitive("three", data);

Java 8+版本:

public boolean containsCaseInsensitive(String s, List<String> l){
        return l.stream().anyMatch(x -> x.equalsIgnoreCase(s));
    }


 类似资料:
  • 问题内容: 我正在DOM的所有textnode上运行,并检查nodeValue是否包含某个字符串。 这是区分大小写的。不过,我也想赶上,或。XPath(在JavaScript中)可以实现吗? 问题答案: 是。可能,但不漂亮。 这适用于事先知道字母的搜索字符串。添加您希望看到的所有带重音符号的字符。 如果可以的话,请通过其他方式标记您感兴趣的文本,例如在构建HTML时将其包含在具有特定类的文本中。与

  • 问题内容: 我正在尝试提出一个要求区分大小写的结果的请求。 例如在我的数据库中 该请求是 但我有3行作为结果,我只想要abcdef 我试图找到一个解决方案 但是我有这个错误: 未知归类:’Latin1_General_CS_AS’{“成功”:false,“错误”:“#1273-未知归类:’Latin1_General_CS_AS’”} 谢谢 问题答案: 感谢您的帮助,我找到了不是latin1 ut

  • 问题内容: 我有一个Lucene索引,该索引当前区分大小写。我想添加的 选项 有不区分大小写作为后备的。这意味着与案例匹配的结果将获得更大的权重,并且将首先出现。例如,如果结果数限制为10,并且有10个匹配项符合我的情况,那就足够了。如果仅找到7个结果,则可以从不区分大小写的搜索中再添加3个结果。 我的案子实际上更复杂,因为我有不同重量的物品。理想情况下,匹配“错误”的表壳会增加一些重量。不用说,

  • 对于报告(0.1%的所有查询),我需要返回一个所有可能类别的列表,区分大小写! 考虑以下文件: 运行以下查询: 返回: 是否有方法返回区分大小写的类别(存储在文档中)?我对此查询结果中的感兴趣。 Elasticsearch论坛中的问题 谢谢,伊泰

  • 问题内容: 我正在使用Flask-SQLAlchemy从用户数据库中查询;但是,虽然 will return doing returns 我想知道是否有一种以不区分大小写的方式查询数据库的方法,以便第二个示例仍然返回 问题答案: 你可以使用过滤器中的或功能来完成此操作: 另一种选择是使用而不是进行搜索: