Java 字符串 contains()
方法判断字符串是否包含子字符串。如果包含则返回 true,否则返回 false。
注意:contains()方法区别大小写。
语法
字符串 contains() 方法的语法如下:
public boolean contains(CharSequence sequence)
参数
sequence:指定要搜索的字符序列。
返回值
如果包含则返回 true,否则返回 false。
异常
NullPointerException:如果序列为空。
内部实现
public boolean contains(CharSequence s) {
return indexOf(s.toString()) > -1;
}
在这里,将 CharSequence 转换为 String。之后,调用 indexOf() 方法。方法 indexOf() 要么返回 0,要么返回大于 0 的数字,以防找到搜索的字符串。
但是,当没有找到搜索到的字符串时,indexOf() 方法返回-1。因此,执行后,contains()方法在indexOf()方法返回非负值时返回true(当找到搜索到的字符串时);否则,该方法返回 false。
示例1
文件名: ContainsExample.java
class ContainsExample{
public static void main(String args[]){
String name="what do you know about me";
System.out.println(name.contains("do you know"));
System.out.println(name.contains("about"));
System.out.println(name.contains("hello"));
}
}
输出:
true
true
false
true
false
示例2
contains() 方法搜索区分大小写的字符序列。如果参数不区分大小写,则返回 false。让我们看一个例子。
文件名: ContainsExample2.java
public class ContainsExample2 {
public static void main(String[] args) {
String str = "Hello yxjc123 readers";
boolean isContains = str.contains("yxjc123");
System.out.println(isContains);
// 区分大小写
System.out.println(str.contains("YXJC123")); // false
}
}
输出:
true
false
false
示例3
contains() 方法有助于在字符串中查找字符序列。我们可以在条件语句中判断。让我们看一个例子。
文件名:包含Example3.java
public class ContainsExample3 {
public static void main(String[] args) {
String str = "To learn Java visit yxjc123.com";
if(str.contains("yxjc123.com")) {
System.out.println("This string contains yxjc123.com");
}else
System.out.println("Result not found");
}
}
输出:
This string contains yxjc123.com
示例4
当在方法的参数中传递 null 时,contains() 方法会引发 NullPointerException。以下是例子。
文件名: ContainsExample4.java
public class ContainsExample4
{
// 主要方法
public static void main(String argvs[])
{
String str = "Welcome to yxjc123!";
// 将字符串与 null 进行比较
if(str.contains(null))
{
System.out.println("Inside the if block");
}
else
{
System.out.println("Inside the else block");
}
}
}
输出:
Exception in thread "main" java.lang.NullPointerException
at java.base/java.lang.String.contains(String.java:2036)
at ContainsExample4.main(ContainsExample4.java:9)
at java.base/java.lang.String.contains(String.java:2036)
at ContainsExample4.main(ContainsExample4.java:9)
contains() 方法的限制
以下是 contains() 方法的一些限制:
- 不要使用 contains() 方法来搜索字符串中的字符。这样做会导致错误。
- contains() 方法只检查另一个字符串中是否存在一个字符串。它不显示找到的位置。由于这些限制,最好使用 indexOf() 方法而不是 contains() 方法。