CodeGym /Java Blog /Random-IT /Metodo Java String contains()
John Squirrels
Livello 41
San Francisco

Metodo Java String contains()

Pubblicato nel gruppo Random-IT
Questa funzione è appositamente progettata per verificare se una stringa "contiene" un'altra stringa o meno. Se sei nuovo in questo, potresti finire per usarlo per trovare un "personaggio". Ma non servirà allo scopo. In questo articolo, affronteremo come java.lang.String.contains() viene utilizzato, implementato e quali eccezioni possono sorgere se non utilizzate con attenzione.

Qual è il metodo contains()?

È possibile utilizzare il metodo contains(String key) per " trovare " se una determinata stringa " key " è presente o meno all'interno di una determinata stringa. Se viene trovata "key", viene restituito "true". Altrimenti otterrai un "falso".Metodo Java String contains() - 1

Implementazione interna

Questo metodo è già implementato da java.lang.String . Non devi implementarlo tu stesso. Ecco una breve spiegazione per la tua comprensione.

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

Codice Spiegazione

contains() , accetta un CharSequence come parametro di input. Che viene successivamente convertito in una "Stringa". Quindi questa espressione viene calcolata indexOf(key.toString()) > -1; . Il che significa che se quella "chiave" viene trovata in qualsiasi indice ("0" o maggiore), viene restituito "vero". E se la chiave non viene trovata, viene restituito un "falso".

Come utilizzare il metodo contains()?

Ecco come puoi usarlo.

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"));
    }
}
Produzione
input.contains(bro) = true input.contains(brown) = true input.contains(Brown) = false // false perché fa distinzione tra maiuscole e minuscole input.contains(fox) = true input.contains(xof) = false // false perché l'ordine dovrebbe essere lo stesso input.contains(dog) = true input.contains(lazyy) = false // false perché l'intera sottostringa non è stata trovata input.contains(jumping) = false

Codice Spiegazione

Si prega di notare che questo metodo fa distinzione tra maiuscole e minuscole per i parametri di input. Quindi, nello snippet sopra, puoi osservare quando cerchi "marrone" viene restituito vero , mentre falso viene restituito per "marrone". Inoltre, diventerai true se trovi "fox" e false per "xof" o "oxf" perché l'ordine dei caratteri deve essere lo stesso. Infine, se trovi “jump” o “jumped” otterrai un true in quanto l'intero parametro è presente nella stringa “ input ”. Considerando che, se controlli "jumping", false viene restituito perché l'intera chiave ("jumping") non viene trovata.

Prendersi cura delle eccezioni

Il metodo java.lang.String.contains() genera un'eccezione puntatore nullo se si dimentica di inizializzare la stringa del parametro con un valore concreto.

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

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

Conclusione

Il metodo Contains() fornisce una comoda utility java per trovare qualsiasi sequenza di caratteri o una stringa. Ci auguriamo che alla fine di questo post abbiate familiarità con il suo utilizzo e la sua implementazione. Per una comprensione ancora migliore, sei incoraggiato a rimboccarti le maniche e metterti al lavoro. La creazione di codice privo di errori comporta uno sforzo costante. Quindi prendiamolo ragazzi! Puoi sempre tornare qui quando rimani bloccato. Felice codifica. :)
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION