Java字符串contains()

Java String contains() method is used to check if the string contains specified character sequence or not.

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

Java字符串contains() (Java String contains())

  • Java String contains() method was introduced in java 1.5 release as a utility method.

    Java字符串contains()方法是Java 1.5发行版中作为实用程序方法引入的。
  • This method returns true if the string contains the specified sequence of char values. Else it returns false.

    如果字符串包含指定的char值序列,则此方法返回true 。 否则返回false。
  • String contains() method internally uses String indexOf method, below code snippet shows the contains() method definition.
    public boolean contains(CharSequence s) {
        return indexOf(s.toString()) >= 0;
    }

    String contains()方法内部使用String indexOf方法,下面的代码片段显示了contains()方法的定义。
  • If the argument is null, then NullPointerException is thrown, it’s clear from the above code that there is no null check for the argument string. For example; "abc".contains(null); will throw below exception stack trace similar to below.
    Exception in thread "main" java.lang.NullPointerException
    	at java.base/java.lang.String.contains(String.java:2047)
    	at com.journaldev.string.JavaStringContains.main(JavaStringContains.java:17)

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

    请注意,字符串contains()方法区分大小写,因此"abc".contains("A"); 将返回false
  • The argument of String contains() method is java.lang.CharSequence, so any implementation classes are also fine as argument, such as StringBuffer, StringBuilder and CharBuffer.

    String contains()方法的参数是java.lang.CharSequence ,因此任何实现类也可以用作参数,例如StringBufferStringBuilderCharBuffer

Java String contains()方法简单示例 (Java String contains() method simple example)

Let’s look at a simple java string contains method example.

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

package com.journaldev.string;

/**
 * Java String contains example
 * @author pankaj
 *
 */
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
	}

}

The output of the above program statements are shown in the comments itself and self understood.

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

Java字符串contains()具有不区分大小写的检查 (Java String contains() with case insensitive check)

For case insensitive check, we can change both the strings to either upper case or lower case before calling the contents() method.

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

"abc".toLowerCase().contains("A".toLowerCase()); //true

"abc".toUpperCase().contains("A".toUpperCase()); //true

Java String contains()与CharSequence (Java String contains() with CharSequence)

java charsequence implemetations

Let’s look at examples of using String contains() method with StringBuffer, StringBuilder and CharBuffer. All these are implementations of CharSequence interface. Also note that CharBuffer is an abstract class, creating it’s instance is slightly different from other usual classes.


让我们看看将String contains()方法与StringBufferStringBuilderCharBuffer一起使用的示例。 所有这些都是CharSequence 接口的实现。 还要注意, CharBuffer是一个抽象类 ,创建它的实例与其他常规类略有不同。

//Java String contains with StringBuffer
StringBuffer sb = new StringBuffer("User");
System.out.println(str.contains(sb)); //true

//Java String contains with StringBuilder
StringBuilder sb1 = new StringBuilder(sb);
System.out.println(str.contains(sb1)); //true

//Java String contains with CharBuffer
CharBuffer cb = CharBuffer.allocate(4);
cb.append('U');cb.append('s');cb.append('e');cb.append('r');
cb.clear();
System.out.println(cb); //User
System.out.println(str.contains(cb)); //true

That’s all for java string contains method examples. If you are learning java, I would strongly recommend to go through core java tutorial.

Java字符串包含方法示例就这些了。 如果您正在学习Java,我强烈建议您阅读核心Java教程

Reference: API Doc

参考: API文档

翻译自: https://www.journaldev.com/17972/java-string-contains

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值