Java字符串contains()

时间:2020-02-23 14:36:54  来源:igfitidea点击:

Java String contains()方法用于检查字符串是否包含指定的字符序列。

Java字符串contains()

  • Java字符串contains()方法是Java 1.5发行版中作为实用程序方法引入的。

  • 如果字符串包含指定的char值序列,则此方法返回" true"。
    否则,它返回false。

  • String contains()方法内部使用StringindexOf方法,下面的代码片段显示了contains()方法的定义。

  • 如果参数为null,则抛出NullPointerException,从上面的代码可以清楚地看出,对参数字符串没有null检查。
    例如; " abc" .contains(null);将抛出类似于下面的异常堆栈跟踪。

  • 请注意,字符串contains()方法区分大小写,因此"" abc" .contains(" A");"将返回" false"。

  • String contains()方法的参数是java.lang.CharSequence,所以任何实现类也可以作为参数,例如StringBuffer,StringBuilder和CharBuffer。

Java String contains()方法简单示例

让我们看一个简单的java字符串包含方法示例。

public boolean contains(CharSequence s) {
  return indexOf(s.toString()) >= 0;
}

以上程序语句的输出显示在注释本身中,并且易于理解。

Java String contains()具有不区分大小写的检查

对于不区分大小写的检查,可以在调用contents()方法之前将两个字符串都更改为大写或者小写。

Exception in thread "main" java.lang.NullPointerException
	at java.base/java.lang.String.contains(String.java:2047)
	at com.theitroad.string.JavaStringContains.main(JavaStringContains.java:17)

Java String contains()与CharSequence

让我们看一下将String contains()方法与StringBuffer,StringBuilder和CharBuffer结合使用的示例。
所有这些都是CharSequence接口的实现。
另外请注意,CharBuffer是一个抽象类,创建它的实例与其他常规类稍有不同。

package com.theitroad.string;

/**
 * Java String contains example
 * @author hyman
 *
 */
public class JavaStringContains {

	public static void main(String[] args) {
		String str = "abc def";
		String str1 = "//ab/\";
		
		System.out.println(str.contains("a")); //true
		System.out.println(str.contains("\")); //false
		
		System.out.println(str1.contains("\")); //true
		System.out.println(str1.contains("/")); //true
		
		boolean flag = "abc".contains("A"); //false
	}

}