CodeGym /Java 博客 /随机的 /Java String contains() 方法
John Squirrels
第 41 级
San Francisco

Java String contains() 方法

已在 随机的 群组中发布
此函数专门用于检查一个字符串是否“包含”另一个字符串。如果您是新手,您可能最终会使用它来查找“角色”。但它不会达到目的。在本文中,我们将介绍如何使用、实现java.lang.String.contains()以及如果不小心使用会出现哪些异常。

contains() 方法是什么?

您可以使用contains(String key)方法来“查找”某个字符串“ key ”是否存在于某个字符串中。如果找到“key”,则返回“true”。否则你会得到一个“假”。Java String contains() 方法 - 1

内部实施

此方法已由java.lang.String实现。您不必自己实施。为了您的理解,这里有一个快速的解释。

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

代码说明

contains()方法,将 CharSequence 作为输入参数。后来转换为“字符串”。然后计算这个表达式indexOf(key.toString()) > -1; . 这意味着,如果在任何索引(“0”或更大)处找到该“键”,则返回“true”。如果未找到密钥,则返回“false”。

如何使用 contains() 方法?

以下是您如何使用它。

public class ContainsMethod {
    public static void main(String[] args) {

	String input = "A brown fox jumped over a lazy dog.";

	// check the containing strings
	System.out.println("input.contains(bro) = " + input.contains("bro"));
	System.out.println("input.contains(brown) = " + input.contains("brown"));
	System.out.println("input.contains(Brown) = " + input.contains("Brown"));

	System.out.println("input.contains(fox) = " + input.contains("fox"));
	System.out.println("input.contains(xof) = " + input.contains("xof"));
		
	System.out.println("input.contains(dog) = " + input.contains("dog"));
	System.out.println("input.contains(lazyy) = " + input.contains("lazyy"));
	System.out.println("input.contains(jumping) = " + input.contains("jumping"));
    }
}
输出
input.contains(bro) = true input.contains(brown) = true input.contains(Brown) = false // false 因为区分大小写 input.contains(fox) = true input.contains(xof) = false // false因为顺序应该相同 input.contains(dog) = true input.contains(lazyy) = false // false 因为没有找到整个子字符串 input.contains(jumping) = false

代码说明

请注意,此方法对输入参数区分大小写。因此,在上面的代码片段中,您可以观察到当您搜索“brown”时会返回true ,而“Brown”会返回false 。此外,如果您发现“fox”和“xof”或“oxf”的false,您将得到true,因为字符的顺序需要相同。最后,如果您找到“jump”或“jumped”,您将得到一个true,因为整个参数都存在于“ input ”字符串中。然而,如果您检查“jumping”,则返回false,因为未找到整个键(“jumping”)。

处理异常

如果您忘记使用某个具体值初始化参数字符串, java.lang.String.contains()方法会导致空指针异常。

public class ContainsMethod {
    public static void main(String[] args) {

      String input = "Here is a test string.";
      String test = null;

	// check what happens if you look for a null string 
	System.out.println("input.contains(test) = " + input.contains(test));
	}
}
输出

Exception in thread "main" java.lang.NullPointerException
	at java.lang.String.contains(String.java:2133)
	at ContainsMethod.main(ContainsMethod.java:8)

结论

Contains()方法提供了一个方便的 java 实用程序来查找任何字符序列或字符串。我们希望在本文结束时,您熟悉它的使用和实现。为了更好地理解,我们鼓励您卷起袖子开始工作。创建无错误的代码需要坚持不懈的努力。所以让我们开始吧!当你遇到困难时,随时欢迎你回到这里。快乐编码。:)
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION