此函数专门用于检查一个字符串是否“包含”另一个字符串。如果您是新手,您可能最终会使用它来查找“角色”。但它不会达到目的。在本文中,我们将介绍如何使用、实现java.lang.String.contains()以及如果不小心使用会出现哪些异常。
contains() 方法是什么?
您可以使用contains(String key)方法来“查找”某个字符串“ key ”是否存在于某个字符串中。如果找到“key”,则返回“true”。否则你会得到一个“假”。内部实施
此方法已由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)
GO TO FULL VERSION