您的位置:

Java中contains方法的用法

一、contains方法简介

Java中的contains方法是String类中的一个方法,它用于判断一个字符串是否包含另一个字符串。contains方法返回一个boolean类型的值,如果被搜索的字符串包含搜索的字符串,则返回true,否则返回false。

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

从上面的代码可以看出,contains方法使用了indexOf方法来判断是否包含指定的字符串。如果返回的索引值大于-1,则说明包含。

二、使用contains方法判断字符串是否包含指定字符或字符串

在Java中,我们可以使用contains方法来判断一个字符串是否包含指定的字符或字符串。例如,我们可以使用下面的代码来判断字符串str是否包含字符串subStr:

String str = "Java技术栈";
String subStr = "Java";
if (str.contains(subStr)) {
    System.out.println("包含");
} else {
    System.out.println("不包含");
}

运行上面代码,输出结果为“包含”,因为字符串str包含字符串subStr。

此外,contains方法还可以判断一个字符串是否包含指定的字符,例如:

String str = "Java技术栈";
char ch = 'a';
if (str.contains(String.valueOf(ch))) {
    System.out.println("包含");
} else {
    System.out.println("不包含");
}

运行上面代码,输出结果为“包含”,因为字符串str包含字符'a'。

三、使用contains方法判断集合是否包含指定元素

除了可以在字符串中判断是否包含指定字符或字符串外,Java中的集合类也支持使用contains方法来判断一个集合中是否包含指定的元素。例如,我们可以使用下面的代码来判断列表List中是否包含元素“Java”:

List<String> list = new ArrayList<>();
list.add("Java");
if (list.contains("Java")) {
    System.out.println("包含");
} else {
    System.out.println("不包含");
}

运行上面代码,输出结果为“包含”,因为列表List中包含元素“Java”。

需要注意的是,如果使用contains方法来判断集合中是否包含自定义的对象,则需要重写对象中的equals方法,否则contains方法无法判断两个对象是否相等。

四、使用contains方法判断数组是否包含指定元素

与集合类类似,Java中的数组也支持使用contains方法来判断数组中是否包含指定元素。例如,我们可以使用下面的代码来判断数组arr中是否包含元素“Java”:

String[] arr = {"Java", "Python", "C++"};
if (Arrays.asList(arr).contains("Java")) {
    System.out.println("包含");
} else {
    System.out.println("不包含");
}

运行上面代码,输出结果为“包含”,因为数组arr中包含元素“Java”。

需要注意的是,在判断数组是否包含指定元素时,我们需要将数组转换成List类型,否则数组不支持contains方法。

五、contains方法的性能

虽然contains方法在使用时很方便,但是它的性能并不是很高。在处理大量的数据时,contains方法可能会导致性能问题。因此,在实际的开发中,我们应该尽量减少使用contains方法,或者采用其他更高效的算法来替代contains方法。

六、小结

文章介绍了Java中contains方法的用法,包括使用contains方法判断字符串是否包含指定字符或字符串、使用contains方法判断集合或数组是否包含指定元素、以及contains方法的性能问题。在实际开发中,我们应该根据具体的情况,选择最适合的方法来实现业务需求。