您的位置:

Java中contains方法详解

一、contains方法介绍

在java中,contains方法是String类中常用的方法之一,其主要作用是判断一个字符串是否包含另一个字符串,并返回一个boolean值。

    public boolean contains(CharSequence s) {
        return indexOf(s.toString()) > -1;
    }

具体来说,contains方法会在调用该方法的字符串中查找某个指定的子字符串,如果找到该子字符串,则返回true,否则返回false。

contains方法参数为CharSequence类型,也就是说,在传参数时可以传入任何实现了CharSequence接口的对象,包括String、StringBuilder等。

二、contains方法用法

1、判断字符串是否包含某个字符序列

contains方法最简单的用法就是判断一个字符串是否包含另一个字符序列:

    String str1 = "Hello World";
    String str2 = "Hello";
    String str3 = "Java";
    System.out.println(str1.contains(str2)); // true
    System.out.println(str1.contains(str3)); // false

在上面的例子中,我们调用contains方法依次判断str1字符串是否包含str2和str3字符串,结果分别为true和false。

2、判断字符串中是否包含某个字符

除了判断一个字符串是否包含另一个字符序列,contains方法还可以用于判断一个字符串中是否包含某个字符:

    String str1 = "Hello World";
    char ch1 = 'o';
    char ch2 = 'p';
    System.out.println(str1.contains(String.valueOf(ch1))); // true
    System.out.println(str1.contains(String.valueOf(ch2))); // false

在上面的例子中,我们先定义了一个字符串str1和两个待判断的字符ch1和ch2,然后调用contains方法分别判断了str1字符串中是否包含字符ch1和ch2,结果分别为true和false。

3、判断一个字符串是否以某个字符序列开头或结尾

除了判断一个字符串是否包含某个字符序列,还可以判断一个字符串是否以某个字符序列开头或结尾。对于这种情况,我们可以使用startsWith和endsWith方法。

    String str1 = "Hello World";
    String str2 = "Hello";
    String str3 = "World";
    System.out.println(str1.startsWith(str2)); // true
    System.out.println(str1.endsWith(str3)); // true

在上面的例子中,我们先定义了一个字符串str1和两个待判断的字符串str2和str3,然后分别调用startsWith和endsWith方法,判断str1字符串是否以str2字符串开头和是否以str3字符串结尾,结果都为true。

三、contains方法注意事项

1、参数类型为CharSequence

contains方法的参数类型为CharSequence,如果传的参数是一个StringBuilder或者StringBuffer类型的对象,那么在判断的时候并不会将其转换成String类型。因此,使用contains方法时,需要注意传入正确的参数类型。

2、区分大小写

在Java中,字符串区分大小写。因此,contains方法在判断字符串是否包含某个字符序列时,也是区分大小写的。如果需要忽略大小写,可以先将字符串转换成小写或大写后再判断:

    String str1 = "Hello World";
    String str2 = "hello";
    System.out.println(str1.toLowerCase().contains(str2.toLowerCase())); // true

在上面的例子中,我们将字符串str1和str2都转换成小写后,再调用contains方法判断是否包含,结果为true。

3、对空字符串的判断

当参数为一个空字符串时,contains方法会直接返回false:

    String str1 = "Hello World";
    String str2 = "";
    System.out.println(str1.contains(str2)); // false

在上面的例子中,当参数str2为空字符串时,contains方法直接返回false。

四、总结

contains方法作为String类中的常用方法,在Java编程中非常实用。它可以判断一个字符串是否包含另一个字符串或字符,还可以判断一个字符串是否以某个字符序列开头或结尾。使用contains方法时,需要注意参数类型、区分大小写和对空字符串的判断等问题。