CodeGym /Java-blogg /Tilfeldig /Java-strengen inneholder() metode
John Squirrels
Nivå
San Francisco

Java-strengen inneholder() metode

Publisert i gruppen
Denne funksjonen er spesielt utviklet for å sjekke om en streng 'inneholder' en annen streng eller ikke. Hvis du er ny på dette, kan du ende opp med å bruke det til å finne en "karakter". Men det vil ikke tjene formålet. I denne artikkelen tar vi for oss hvordan java.lang.String.contains() brukes, implementeres og hvilke unntak som kan oppstå hvis de ikke brukes forsiktig.

Hva er contains()-metoden?

Du kan bruke contains(String key) -metoden for å " finne " hvis en bestemt streng " nøkkel " er til stede i en bestemt streng eller ikke. Hvis "nøkkel" blir funnet, returneres "true". Ellers får du en "falsk".Java-strengen inneholder() metode - 1

Intern implementering

Denne metoden er allerede implementert av java.lang.String . Du trenger ikke implementere dette selv. Her er en rask forklaring på det for din forståelse.

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

Kodeforklaring

contains()- metoden, tar en CharSequence som en inngangsparameter. Som senere konverteres til en "streng". Deretter beregnes dette uttrykket indexOf(key.toString()) > -1; . Hvilket betyr at hvis "nøkkelen" er funnet ved en hvilken som helst indeks ("0" eller høyere), så returneres "true". Og hvis nøkkelen ikke blir funnet, returneres en "falsk".

Hvordan bruker jeg contains()-metoden?

Slik kan du bruke den.

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"));
    }
}
Produksjon
input.contains(bro) = true input.contains(brown) = true input.contains(Brown) = false // false fordi det skilles mellom store og små bokstaver input.contains(fox) = true input.contains(xof) = false // false fordi rekkefølgen skal være den samme input.contains(dog) = true input.contains(lazyy) = false // false fordi hele understrengen ikke ble funnet input.contains(jumping) = false

Kodeforklaring

Vær oppmerksom på at denne metoden skiller mellom store og små bokstaver for inngangsparametere. Så i utdraget ovenfor kan du se når du søker på «brown» returneres true , mens false returneres for «brown». Du vil også få sannhet hvis du finner "rev" og falsk for "xof" eller "oxf" fordi rekkefølgen på tegnene må være den samme. Til slutt, hvis du finner "hopp" eller "hoppet" vil du få en sann da hele parameteren er tilstede i " input "-strengen. Mens, hvis du sjekker for "hopping", returneres false fordi hele nøkkelen ("hopping") ikke er funnet.

Ta vare på unntak

metoden java.lang.String.contains() resulterer i et Null Pointer Unntak hvis du glemmer å initialisere parameterstrengen med en konkret verdi.

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));
	}
}
Produksjon

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

Konklusjon

Contains()- metoden gir et hendig java-verktøy for å finne en hvilken som helst char-sekvens eller en streng. Vi håper at du ved slutten av dette innlegget er kjent med bruken og implementeringen. For en enda bedre forståelse, oppfordres du til å brette opp ermene og sette i gang. Å lage feilfri kode kommer med konsekvent innsats. Så la oss få det folkens! Du er alltid velkommen tilbake hit når du står fast. Lykke til med koding. :)
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION