CodeGym /Java Blog /Willekeurig /Java String bevat() Methode
John Squirrels
Niveau 41
San Francisco

Java String bevat() Methode

Gepubliceerd in de groep Willekeurig
Deze functie is speciaal ontworpen om te controleren of een string een andere string 'bevat' of niet. Als dit nieuw voor je is, zou je het uiteindelijk kunnen gebruiken om een ​​'karakter' te vinden. Maar het zal het doel niet dienen. In dit artikel gaan we in op hoe java.lang.String.contains() wordt gebruikt, geïmplementeerd en welke uitzonderingen kunnen optreden als het niet zorgvuldig wordt gebruikt.

Wat is de contain() methode?

Je kunt de contain(String key) methode gebruiken om te " vinden " of een bepaalde string " key " aanwezig is binnen een bepaalde string of niet. Als "key" wordt gevonden, wordt "true" geretourneerd. Anders krijg je een "false".Java String bevat() Methode - 1

Interne implementatie

Deze methode is al geïmplementeerd door java.lang.String . U hoeft dit niet zelf uit te voeren. Hier is een korte uitleg ervan voor uw begrip.

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

Code Uitleg

comes() methode, neemt een CharSequence als invoerparameter. Die later wordt omgezet in een "String". Vervolgens wordt deze uitdrukking berekend indexOf(key.toString()) > -1; . Dat betekent dat als die "sleutel" wordt gevonden bij een willekeurige index ("0" of hoger), dan wordt "true" geretourneerd. En als de sleutel niet wordt gevonden, wordt een "false" geretourneerd.

Hoe gebruik je de contain() methode?

Hier is hoe je het kunt gebruiken.

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"));
    }
}
Uitgang
input.contains(bro) = true input.contains(brown) = true input.contains(Brown) = false // false omdat hoofdlettergevoelig input.contains(fox) = true input.contains(xof) = false // false omdat de volgorde hetzelfde moet zijn input.contains(dog) = true input.contains(lazyy) = false // false omdat hele substring niet gevonden input.contains(jumping) = false

Code Uitleg

Let op, deze methode is hoofdlettergevoelig voor invoerparameters. Dus in het bovenstaande fragment kun je zien dat wanneer je zoekt naar "bruin", true wordt geretourneerd, terwijl false wordt geretourneerd voor "Bruin". Je krijgt ook waar als je 'fox' en ' false' vindt voor 'xof' of 'oxf', omdat de volgorde van de tekens hetzelfde moet zijn. Ten slotte, als u "jump" of "jumped" vindt, krijgt u een true omdat de hele parameter aanwezig is in de " input "-tekenreeks. Terwijl, als u controleert op "jumping", wordt false geretourneerd omdat de volledige sleutel ("jumping") niet is gevonden.

Uitzonderingen verzorgen

De methode java.lang.String.contains() resulteert in een Null Pointer Exception als u vergeet de parameterreeks met een concrete waarde te initialiseren.

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

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

Conclusie

De methode Bevat() biedt een handig java-hulpprogramma om een ​​tekenreeks of een tekenreeks te vinden. We hopen dat je aan het einde van dit bericht bekend bent met het gebruik en de implementatie ervan. Voor een nog beter begrip wordt je aangemoedigd om de handen uit de mouwen te steken en aan de slag te gaan. Het creëren van foutloze code gaat gepaard met consistente inspanning. Dus laten we het pakken jongens! Je bent altijd welkom om terug te komen als je vastloopt. Veel plezier met coderen. :)
Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION