CodeGym /Java Blog /Toto sisi /Java String contains() 方法
John Squirrels
等級 41
San Francisco

Java String contains() 方法

在 Toto sisi 群組發布
此函數專門用於檢查一個字符串是否“包含”另一個字符串。如果您是新手,您可能最終會使用它來查找“角色”。但它不會達到目的。在本文中,我們將介紹如何使用、實現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