字符串是Java中非常常见的一种类型,很多情况下我们需要判断一个字符串是否包含另一个字符串。本文将介绍Java中字符串包含的用法,包括几种常用的判断方式和对应的代码示例。
一、contains方法
Java中String类提供了一个contains方法来判断一个字符串是否包含另一个字符串。该方法的语法如下:
boolean contains(CharSequence s)
其中,s表示要判断的字符串,返回值为true表示包含,否则为false。
下面是一个示例代码:
public class StringContainsExample { public static void main(String[] args) { String str1 = "hello world"; String str2 = "world"; boolean result1 = str1.contains(str2); boolean result2 = str1.contains("java"); System.out.println("str1包含str2:" + result1); System.out.println("str1包含java:" + result2); } }
运行上述代码,输出结果为:
str1包含str2:true str1包含java:false
可以看到,str1包含"world",但不包含"java"。
二、indexOf方法
String类还提供了一个indexOf方法,它可以返回目标字符串在当前字符串中第一次出现的位置。如果目标字符串未在当前字符串中出现,则返回-1。
该方法的语法如下:
int indexOf(String str)
下面是一个示例代码:
public class StringIndexOfExample { public static void main(String[] args) { String str1 = "hello world"; String str2 = "world"; int index1 = str1.indexOf(str2); int index2 = str1.indexOf("java"); System.out.println("str2在str1中的位置:" + index1); System.out.println("java在str1中的位置:" + index2); } }
运行上述代码,输出结果为:
str2在str1中的位置:6 java在str1中的位置:-1
可以看到,"world"在"hello world"中的位置为6,而"java"未在字符串中出现,因此返回-1。
三、startsWith和endsWith方法
除了contains和indexOf方法外,String类还提供了两个方法来判断一个字符串是否以指定的字符串开头或者结尾。这两个方法分别为startsWith和endsWith。
startsWith方法的语法如下:
boolean startsWith(String prefix)
该方法返回值为true表示当前字符串以指定的前缀prefix开始,否则为false。下面是一个示例代码:
public class StringStartsWithExample { public static void main(String[] args) { String str1 = "hello world"; boolean result1 = str1.startsWith("hello"); boolean result2 = str1.startsWith("java"); System.out.println("str1以hello开头:" + result1); System.out.println("str1以java开头:" + result2); } }
运行上述代码,输出结果为:
str1以hello开头:true str1以java开头:false
可以看到,"hello world"以"hello"开头,因此返回true。而以"java"开头的字符串未在str1中出现,因此返回false。
endsWith方法的语法如下:
boolean endsWith(String suffix)
该方法返回值为true表示当前字符串以指定的后缀suffix结尾,否则为false。下面是一个示例代码:
public class StringEndsWithExample { public static void main(String[] args) { String str1 = "hello world"; boolean result1 = str1.endsWith("world"); boolean result2 = str1.endsWith("java"); System.out.println("str1以world结尾:" + result1); System.out.println("str1以java结尾:" + result2); } }
运行上述代码,输出结果为:
str1以world结尾:true str1以java结尾:false
可以看到,"hello world"以"world"结尾,因此返回true。而以"java"结尾的字符串未在str1中出现,因此返回false。
四、equalsIgnoreCase方法
除了判断字符串包含和相等外,有时我们还需要判断字符串是否忽略大小写相等。String类提供了一个equalsIgnoreCase方法来判断两个字符串在忽略大小写的情况下是否相等。
该方法的语法如下:
boolean equalsIgnoreCase(String anotherString)
下面是一个示例代码:
public class StringEqualsIgnoreCaseExample { public static void main(String[] args) { String str1 = "Hello World"; String str2 = "hello world"; boolean result1 = str1.equalsIgnoreCase(str2); System.out.println("str1与str2在忽略大小写的情况下是否相等:" + result1); } }
运行上述代码,输出结果为:
str1与str2在忽略大小写的情况下是否相等:true
可以看到,虽然str1和str2不是完全相等的字符串,但在忽略大小写的情况下它们是相等的。
总结
本文介绍了Java中字符串包含的用法,包括contains、indexOf、startsWith、endsWith和equalsIgnoreCase等方法的使用。通过本文的学习,相信您已经掌握了如何判断字符串包含的常用方法,可以在实际开发中灵活应用。