Java String 包含某个字符串的详解
1. 引言
在Java中,字符串是使用String类表示的。String类提供了许多方法来处理字符串,包括判断一个字符串是否包含另一个字符串的方法。本文将详细介绍Java中判断一个字符串是否包含另一个字符串的方法,并给出示例代码和运行结果。
2. String类的contains()
方法
String类中的contains()
方法用于判断一个字符串是否包含另一个字符串。该方法的签名如下所示:
public boolean contains(CharSequence sequence)
contains()
方法接受一个CharSequence参数,返回一个布尔值。如果字符串包含指定的CharSequence序列,则返回true;否则返回false。
下面是一个使用contains()
方法判断字符串是否包含另一个字符串的示例代码:
String str1 = "Java is a programming language";
String str2 = "language";
boolean result = str1.contains(str2);
System.out.println(result);
运行结果为:
true
3. 示例及运行结果
下面给出几个示例及运行结果,用于说明contains()
方法的使用。
示例一:
String str1 = "Hello, World!";
String str2 = "Hello";
boolean result = str1.contains(str2);
System.out.println(result);
运行结果为:
true
示例二:
String str1 = "Hello, World!";
String str2 = "World";
boolean result = str1.contains(str2);
System.out.println(result);
运行结果为:
true
示例三:
String str1 = "Hello, World!";
String str2 = "Java";
boolean result = str1.contains(str2);
System.out.println(result);
运行结果为:
false
4. 区分大小写的问题
需要注意的是,contains()
方法是区分大小写的。即使两个字符串内容相同,但如果大小写不同,contains()
方法仍然会返回false。如果需要进行不区分大小写的判断,可以使用equalsIgnoreCase()
方法。
下面是一个示例代码,演示了contains()
方法和equalsIgnoreCase()
方法的区别:
String str1 = "Hello, World!";
String str2 = "hello";
boolean result1 = str1.contains(str2);
boolean result2 = str1.equalsIgnoreCase(str2);
System.out.println(result1);
System.out.println(result2);
运行结果为:
false
true
5. 避免空指针异常
在使用contains()
方法之前,需要确保待判断的字符串和指定的CharSequence参数都不为null。否则,将会抛出空指针异常。可以使用条件语句或者断言语句来进行判断。
下面是一个示例代码,演示了如何避免空指针异常:
String str1 = null;
String str2 = "Hello";
if (str1 != null && str2 != null) {
boolean result = str1.contains(str2);
System.out.println(result);
} else {
System.out.println("字符串不能为空");
}
运行结果为:
字符串不能为空
6. 总结
本文详细介绍了Java中判断一个字符串是否包含另一个字符串的方法。通过使用String类的contains()
方法,我们可以方便地判断一个字符串是否包含另一个字符串。需要注意的是,contains()
方法是区分大小写的,如果需要进行不区分大小写的判断,可以使用equalsIgnoreCase()
方法。同时,在使用contains()
方法之前,需要确保待判断的字符串和指定的CharSequence参数都不为null,以避免空指针异常的发生。