Det Java String-klassen indeholder() metoden søger efter sekvensen af tegn i denne streng. Det vender tilbage rigtigt hvis sekvensen af char-værdier findes i denne streng, returneres ellers falsk .
Underskrift
Signaturen for strengen contains() metode er givet nedenfor:
public boolean contains(CharSequence sequence)
Parameter
rækkefølge : angiver rækkefølgen af tegn, der skal søges i.
Vender tilbage
rigtigt hvis sekvensen af char-værdi findes, ellers falsk .
Undtagelse
NullPointerException : hvis rækkefølgen er nul.
Intern implementering
public boolean contains(CharSequence s) { return indexOf(s.toString()) > -1; }
Her foregår konverteringen af CharSequence til String. Derefter aktiveres indexOf() metoden. Metoden indexOf() returnerer enten 0 eller et tal større end 0, hvis den søgte streng bliver fundet.
Men når den søgte streng ikke findes, returnerer metoden indexOf() -1. Derfor returnerer metoden contains() efter udførelse sand, når indexOf() metoden returnerer en ikke-negativ værdi (når den søgte streng er fundet); ellers returnerer metoden falsk.
Java-strengen indeholder() Metodeeksempel
Filnavn: IndeholderExample.java
class ContainsExample{ public static void main(String args[]){ String name='what do you know about me'; System.out.println(name.contains('do you know')); System.out.println(name.contains('about')); System.out.println(name.contains('hello')); }}Test det nu
Produktion:
true true false
Java-strengen indeholder() Metodeeksempel 2
Metoden contains() søger efter store og små bogstaver i tegnsekvensen. Hvis argumentet ikke skelner mellem store og små bogstaver, returnerer det falsk. Lad os se et eksempel.
Filnavn: IndeholderEksempel2.java
public class ContainsExample2 { public static void main(String[] args) { String str = 'Hello Javatpoint readers'; boolean isContains = str.contains('Javatpoint'); System.out.println(isContains); // Case Sensitive System.out.println(str.contains('javatpoint')); // false } }
Produktion:
true false
Java-strengen indeholder() Metodeeksempel 3
Metoden contains() er nyttig til at finde en char-sekvens i strengen. Vi kan bruge det i kontrolstrukturen til at producere det søgebaserede resultat. Lad os se et eksempel.
Filnavn: IndeholderEksempel3.java
public class ContainsExample3 { public static void main(String[] args) { String str = 'To learn Java visit Javatpoint.com'; if(str.contains('Javatpoint.com')) { System.out.println('This string contains javatpoint.com'); }else System.out.println('Result not found'); } }
Produktion:
This string contains javatpoint.com
Java-strengen indeholder() Metodeeksempel 4
Metoden contains() hæver NullPointerException, når man sender null i parameteren for metoden. Følgende eksempel viser det samme.
Filnavn: IndeholderEksempel4.java
public class ContainsExample4 { // main method public static void main(String argvs[]) { String str = 'Welcome to JavaTpoint!'; // comparing a string to null if(str.contains(null)) { System.out.println('Inside the if block'); } else { System.out.println('Inside the else block'); } } }
Produktion:
Exception in thread 'main' java.lang.NullPointerException at java.base/java.lang.String.contains(String.java:2036) at ContainsExample4.main(ContainsExample4.java:9)
Begrænsninger af Contains()-metoden
Følgende er nogle begrænsninger af contains()-metoden:
returnerer arrays i java
- Metoden contains() bør ikke bruges til at søge efter et tegn i en streng. Det resulterer i en fejl.
- Metoden contains() kontrollerer kun tilstedeværelsen eller fraværet af en streng i en anden streng. Den afslører aldrig, i hvilket indeks det søgte indeks er fundet. På grund af disse begrænsninger er det bedre at bruge indexOf()-metoden i stedet for contains()-metoden.