Java String.contains() 方法2025 年 8 月 18 日 | 阅读 7 分钟 在 Java 中,String.contains() 方法在给定字符串中搜索字符序列。如果在此字符串中找到字符值序列,则返回 true,否则返回 false。 Java String.contains() 方法String.contains() 方法用于确定一个字符串是否包含另一个字符串。它返回一个布尔值:如果字符串包含指定的字符序列,则返回 true;否则返回 false。String.contains() 方法的签名如下所示 参数sequence:指定要搜索的字符序列。 返回:true 如果字符值序列存在,否则返回 false。 异常:如果序列为 null,该方法将抛出 NullPointerException。 内部实现在这里,CharSequence 会转换为 String。之后,会调用 String.indexOf() 方法。如果找到搜索的字符串,String.indexOf() 方法会返回 0 或大于 0 的数字。 但是,如果未找到搜索的字符串,String.indexOf() 方法会返回 -1。因此,执行后,当 String.indexOf() 方法返回非负值(找到搜索的字符串时)时,String.contains() 方法返回 true;否则,该方法返回 false。 大小写敏感性默认情况下,String.contains() 方法区分大小写。这意味着大写和小写字母被区别对待。例如 要执行不区分大小写的搜索,我们可以使用 toLowerCase() 或 toUpperCase() 等方法将源字符串和搜索字符串都转换为相同的大小写 示例-1:String.contains() 方法示例编译并运行输出 true true false 示例-2:String.contains() 方法String.contains() 方法搜索区分大小写的字符序列。如果参数不区分大小写,则返回 false。让我们看一个示例。 示例编译并运行输出 true false 示例-3:String.contains() 方法String.contains() 方法有助于在字符串中查找字符序列。我们可以在控制结构中使用它来生成基于搜索的结果。让我们看一个示例。 示例编译并运行输出 This string contains TpointTech.com 示例-4:String.contains() 方法当在方法的参数中传入 null 时,String.contains() 方法会引发 NullPointerException。以下示例显示了这一点。 示例编译并运行输出 Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.lang.CharSequence.toString()" because "s" is null at java.base/java.lang.String.contains(String.java:2981) at Main.main(Main.java:7) String.contains() 与 String.indexOf()在大多数编程语言中,contains() 成为直接检查的决定,而 indexOf() 可用于更复杂的实现。 String.contains() 方法 它只会检查子字符串是否存在,并告诉我们 true 或 false。它对于执行标志非常有用。它的实现逻辑几乎与 indexOf() 相同。 String.indexOf() 方法 它返回一个整数值。其逻辑源自对字符串中子字符串的搜索。成功搜索后,它返回第一次出现的起始索引。否则,它返回 -1。 示例编译并运行输出 Is 'World' present? true Is 'World' present (using index)? true The index of 'World' is: 6 用例String.contains() 方法在各种场景中都有应用,包括
String.contains() 方法的局限性以下是 String.contains() 方法的一些局限性
优点
缺点
要记住的重要事项
结论String.contains() 方法提供了一种方便的方式来在字符串中执行子字符串搜索。通过理解其功能、细微差别和最佳实践,您可以在 Java 应用程序中有效地利用它。无论是解析文本、验证输入还是过滤数据,String.contains() 都被证明是您编程中的宝贵工具。 Java String.contains() 方法 MCQ1. String.contains() 方法返回一个 _______ 值。
答案:c) 解释:该方法旨在回答一个简单的“是/否”问题:“此字符串是否包含此序列?”答案只能以 Java 中的布尔值形式给出,这使得布尔数据类型成为唯一合适的答案。 2. contains() 方法执行 _______ 搜索,这意味着如果您搜索“apple”,它将对“Apple”返回 false。
答案:b) 解释:String.contains() 不是部分匹配搜索。字符串必须完全匹配,逐个字符,并区分每个字符的大小写。如果您想不区分大小写地搜索,则必须在检查之前将其中一个字符串更改为相同的大小写,例如 mainString.toLowerCase().contains(searchString.toLowerCase())。 3. 当您只需要知道子字符串是否 ________,而不是它的位置时,contains() 方法最有用。
答案:c) 解释:如果您需要索引,则应改用 indexOf() 方法。 4. 为了验证字符串是否包含某些字符集而不区分大小写,程序员在使用 _______ 之前可以将字符串更改为 toLowerCase() 或 toUpperCase()。
答案:d) 解释:使用 contains() 函数执行不区分大小写检查的最简单、最有效的方法是使用小写或大写将字符串和要搜索的术语更改为相同的大小写。 5. String.contains() 最重要的局限性是它不支持 _______。
答案:b) 解释:contains() 方法不是为处理复杂查询而构建的,这就是它无法搜索数字后出现的字母的原因。对于此类复杂的查询,程序员将不得不使用 java.util.regex 包中的 Pattern 和 Matcher 类,或者使用 String.matches() 方法。 |
我们请求您订阅我们的新闻通讯以获取最新更新。