CodeGym /Blog Java /Random-PL /Java String zawiera() Metoda
Autor
John Selawsky
Senior Java Developer and Tutor at LearningTree

Java String zawiera() Metoda

Opublikowano w grupie Random-PL
Ta funkcja jest specjalnie zaprojektowana do sprawdzania, czy ciąg „zawiera” inny ciąg, czy nie. Jeśli jesteś nowy w tym, możesz w końcu użyć go do znalezienia „postaci”. Ale to nie będzie służyć celowi. W tym artykule omówimy, w jaki sposób java.lang.String.contains() jest używana, implementowana i jakie wyjątki mogą się pojawić, jeśli nie jest używana ostrożnie.

Co to jest metoda zawiera()?

Możesz użyć metody zawiera(String klucz), aby „ znaleźć ”, czy określony ciąg „ klucz ” jest obecny w określonym ciągu, czy nie. Jeśli „klucz” zostanie znaleziony, zwracane jest „true”. W przeciwnym razie otrzymasz „fałsz”.Java String zawiera() Metoda - 1

Implementacja wewnętrzna

Ta metoda jest już zaimplementowana przez java.lang.String . Nie musisz tego wdrażać samodzielnie. Oto krótkie wyjaśnienie tego dla zrozumienia.

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

Wyjaśnienie kodu

zawiera() metoda, przyjmuje CharSequence jako parametr wejściowy. Który jest później konwertowany na „String”. Następnie to wyrażenie jest obliczane indexOf(key.toString()) > -1; . Oznacza to, że jeśli ten „klucz” zostanie znaleziony w dowolnym indeksie („0” lub większym), zwracana jest wartość „prawda”. A jeśli klucz nie zostanie znaleziony, zwracany jest „fałsz”.

Jak korzystać z metody zawiera()?

Oto jak możesz go użyć.

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"));
    }
}
Wyjście
input.contains(bro) = prawda input.contains(brown) = true input.contains(Brown) = false // false, ponieważ rozróżniana jest wielkość liter input.contains(fox) = prawda input.contains(xof) = false // false, ponieważ kolejność powinna być taka sama input.contains(dog) = prawda input.contains(lazyy) = false // false, ponieważ nie znaleziono całego podłańcucha input.contains(skoki) = false

Wyjaśnienie kodu

Należy pamiętać, że ta metoda uwzględnia wielkość liter w parametrach wejściowych. Tak więc w powyższym fragmencie możesz zaobserwować, że podczas wyszukiwania „brązowego” zwracana jest prawda , podczas gdy zwracana jest wartość fałsz dla „brązowego”. Otrzymasz również wartość true , jeśli znajdziesz „lis” i fałsz dla „xof” lub „oxf”, ponieważ kolejność znaków musi być taka sama. Wreszcie, jeśli znajdziesz „skok” lub „skok”, otrzymasz prawdę, ponieważ cały parametr jest obecny w ciągu „ wejściowym ”. Natomiast jeśli sprawdzisz „skoki”, zwracany jest fałsz , ponieważ cały klucz („skoki”) nie został znaleziony.

Opieka nad wyjątkami

Metoda java.lang.String.contains() powoduje wyjątek Null Pointer Exception, jeśli zapomnisz zainicjować łańcuch parametrów jakąś konkretną wartością.

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));
	}
}
Wyjście

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

Wniosek

Zawiera () metoda zapewnia przydatne narzędzie Java do wyszukiwania dowolnej sekwencji znaków lub ciągu znaków. Mamy nadzieję, że pod koniec tego posta będziesz już zaznajomiony z jego użyciem i implementacją. Dla jeszcze lepszego zrozumienia zachęcamy do zakasania rękawów i wzięcia się do pracy. Tworzenie kodu wolnego od błędów wiąże się z konsekwentnym wysiłkiem. Więc weźmy to, chłopaki! Zawsze możesz tu wrócić, gdy utkniesz. Szczęśliwe kodowanie. :)
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION