The Java String trieda obsahuje() metóda hľadá postupnosť znakov v tomto reťazci. Vracia sa pravda ak sa v tomto reťazci nájde postupnosť hodnôt char, inak sa vráti falošný .
Podpis
Podpis metódy string obsahuje() je uvedený nižšie:
public boolean contains(CharSequence sequence)
Parameter
sekvencie : určuje postupnosť znakov, ktoré sa majú hľadať.
Návraty
pravda ak sekvencia hodnoty char existuje, inak falošný .
Výnimka
Výnimka NullPointerException : ak je sekvencia nulová.
Interná implementácia
public boolean contains(CharSequence s) { return indexOf(s.toString()) > -1; }
Tu prebieha konverzia CharSequence na String. Potom sa vyvolá metóda indexOf(). Metóda indexOf() vráti 0 alebo číslo väčšie ako 0 v prípade, že sa nájde hľadaný reťazec.
Keď sa však hľadaný reťazec nenájde, metóda indexOf() vráti hodnotu -1. Preto po vykonaní metóda obsahuje() vráti hodnotu true, keď metóda indexOf() vráti nezápornú hodnotu (keď sa nájde hľadaný reťazec); v opačnom prípade metóda vráti hodnotu false.
Java String obsahuje() Príklad metódy
Názov súboru: ObsahujeExample.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')); }}Vyskúšajte to
Výkon:
true true false
Java String obsahuje() Príklad metódy 2
Metóda obsahuje() prehľadáva sekvenciu znakov, v ktorej sa rozlišujú malé a veľké písmená. Ak argument nerozlišuje veľké a malé písmená, vráti hodnotu false. Pozrime sa na príklad.
Názov súboru: ObsahujePríklad2.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 } }
Výkon:
true false
Java String obsahuje() Príklad metódy 3
Metóda obsahuje() je užitočná na nájdenie char-sekvencie v reťazci. Môžeme ho použiť v riadiacej štruktúre na vytvorenie výsledku založeného na vyhľadávaní. Pozrime sa na príklad.
Názov súboru: ObsahujePríklad3.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'); } }
Výkon:
This string contains javatpoint.com
Java String obsahuje() Príklad metódy 4
Metóda obsahuje() vyvolá výnimku NullPointerException, keď v parametri metódy prejde null. Nasledujúci príklad ukazuje to isté.
Názov súboru: ObsahujePríklad4.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'); } } }
Výkon:
Exception in thread 'main' java.lang.NullPointerException at java.base/java.lang.String.contains(String.java:2036) at ContainsExample4.main(ContainsExample4.java:9)
Obmedzenia metódy Contains().
Nasledujú niektoré obmedzenia metódy obsahuje():
- Metóda obsahuje() by sa nemala používať na vyhľadávanie znaku v reťazci. Výsledkom je chyba.
- Metóda obsahuje() iba kontroluje prítomnosť alebo neprítomnosť reťazca v inom reťazci. Nikdy neprezradí, na ktorom indexe sa hľadaný index nachádza. Kvôli týmto obmedzeniam je lepšie použiť metódu indexOf() namiesto metódy obsahuje().