Această funcție este special concepută pentru a verifica dacă un șir „conține” un alt șir sau nu. Dacă ești nou în acest domeniu, s-ar putea să-l folosești pentru a găsi un „personaj”. Dar nu va servi scopului. În acest articol, vom aborda modul în care este utilizat, implementat java.lang.String.contains() și ce excepții pot apărea dacă nu este utilizat cu atenție.
Ce este metoda contains()?
Puteți folosi metoda conține(String key) pentru a „ găsi ” dacă un anumit șir „ key ” este prezent într-un anumit șir sau nu. Dacă se găsește „cheie”, se returnează „adevărat”. Altfel, vei primi un „fals”.
Implementare internă
Această metodă este deja implementată de java.lang.String . Nu trebuie să implementați acest lucru singur. Iată o explicație rapidă pentru înțelegerea ta.
public class ContainsMethod
{
public boolean contains(CharSequence key)
{
return indexOf(key.toString()) > -1;
}
}
Explicația codului
metoda contains() , ia o CharSequence ca parametru de intrare. Care este ulterior convertit într-un „Șir”. Apoi această expresie este calculată indexOf(key.toString()) > -1; . Ceea ce înseamnă că, dacă acea „cheie” este găsită la orice index ( „0” sau mai mare), atunci „adevărat” este returnat. Și dacă cheia nu este găsită, atunci este returnat un „fals”.Cum se folosește metoda contains()?
Iată cum îl puteți folosi.
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"));
}
}
Ieșire
input.contains(bro) = adevărat input.contains(brown) = adevărat input.contains(Brown) = fals // fals pentru că input.contains(fox) = adevărat input.contains(xof) = fals // fals deoarece ordinea ar trebui să fie aceeași input.contains(dog) = true input.contains(lazyy) = false // fals deoarece întregul subșir nu a fost găsit input.contains(jumping) = false
Explicația codului
Vă rugăm să rețineți că această metodă face distincție între majuscule și minuscule pentru parametrii de intrare. Deci, în fragmentul de mai sus, puteți observa când căutați „maro” se returnează true , în timp ce false este returnat pentru „maro”. De asemenea, veți deveni adevărat dacă găsiți „vulpe” și fals pentru „xof” sau „oxf”, deoarece ordinea caracterelor trebuie să fie aceeași. În cele din urmă, dacă găsiți „sărit” sau „sărit”, veți obține un adevărat , deoarece întregul parametru este prezent în șirul „ intrare ”. În timp ce, dacă verificați „săritul” este returnat false deoarece întreaga cheie („săritul”) nu este găsită.Aveți grijă de excepții
Metoda java.lang.String.contains() are ca rezultat o Excepție Null Pointer dacă uitați să inițializați șirul de parametri cu o valoare concretă.
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));
}
}
Ieșire
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.contains(String.java:2133)
at ContainsMethod.main(ContainsMethod.java:8)
GO TO FULL VERSION