Ce face String.contains
s.contains(x) returnează true dacă x apare ca bucată continuă în s. Este echivalent cu s.indexOf(x) >= 0. Șirul gol este conținut în orice șir.
Comparația este exactă: "Iași".contains("iași") este false. Pentru o căutare fără litere mari/mici, transformă ambele texte cu toLowerCase() înainte. contains nu folosește expresii regulate: punctul sau steluța sunt căutate ca atare.
Parametri
| Parametru | Descriere |
|---|---|
s |
Textul căutat (orice CharSequence). Nu poate fi null. |
Ce returnează
true dacă textul apare în șir.
Exemple
Exemplul 1: Căutare simplă
public class Main {
public static void main(String[] args) {
String adresa = "Str. Unirii 10, Iași, România";
System.out.println(adresa.contains("Iași"));
System.out.println(adresa.contains("iași"));
System.out.println(adresa.toLowerCase().contains("iași"));
System.out.println(adresa.contains(""));
}
}
Rezultat
true
false
true
true
Exemplul 2: Filtrarea unei liste de produse
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> produse = List.of("Lapte 1L", "Pâine albă", "Lapte de capră", "Brânză");
String cautare = "lapte";
for (String p : produse) {
if (p.toLowerCase().contains(cautare)) {
System.out.println("găsit: " + p);
}
}
}
}
Rezultat
găsit: Lapte 1L
găsit: Lapte de capră
Greșeli frecvente
- Cauți fără să ții cont de majuscule și ratezi rezultate. Transformă ambele texte în litere mici.
- Folosești
containscu o expresie regulată ("[0-9]"): caută literal textul[0-9]. Pentru expresii regulate foloseștematchessauPattern.
Comenzi înrudite
String.indexOf: Returnează poziția primei (indexOf) sau ultimei (lastIndexOf) apariții a unui text sau caracter, ori -1.String.startsWith: Verifică dacă șirul începe (startsWith) sau se termină (endsWith) cu textul dat.String.matches: Verifică dacă ÎNTREGUL șir se potrivește cu o expresie regulată (validare de formate).