Ang function na ito ay espesyal na idinisenyo upang suriin kung ang isang string ay 'naglalaman' ng isa pang string o hindi. Kung bago ka dito, maaari mong gamitin ito para maghanap ng 'character'. Ngunit hindi ito magsilbi sa layunin. Sa artikulong ito, tatalakayin natin kung paano ginagamit, ipinapatupad ang java.lang.String.contains() at anong mga pagbubukod ang maaaring lumabas kung hindi maingat na gagamitin.
Ano ang contains() method?
Maaari mong gamitin ang contains(String key) na paraan para “ hanapin ” kung ang isang string na “ key ” ay nasa loob ng isang partikular na string o wala. Kung ang "susi" ay natagpuan, ang "totoo" ay ibinalik. Kung hindi, makakakuha ka ng "false".
Panloob na Pagpapatupad
Ang pamamaraang ito ay ipinatupad na ng java.lang.String . Hindi mo kailangang ipatupad ito sa iyong sarili. Narito ang isang mabilis na paliwanag nito para sa iyong pang-unawa.
public class ContainsMethod
{
public boolean contains(CharSequence key)
{
return indexOf(key.toString()) > -1;
}
}
Paliwanag ng Code
contains() method, kumukuha ng CharSequence bilang input parameter. Na sa kalaunan ay na-convert sa isang "String". Pagkatapos ang expression na ito ay nakalkula indexOf(key.toString()) > -1; . Ibig sabihin, kung ang "susi" na iyon ay matatagpuan sa anumang index ( "0" o mas mataas ) kung gayon ang "totoo" ay ibabalik. At kung ang susi ay hindi natagpuan, pagkatapos ay isang "false" ay ibinalik.Paano gamitin ang contains() method?
Narito kung paano mo ito magagamit.
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"));
}
}
Output
input.contains(bro) = true input.contains(brown) = true input.contains(Brown) = false // false dahil case-sensitive input.contains(fox) = true input.contains(xof) = false // false dahil ang pagkakasunud-sunod ay dapat na parehong input.contains(dog) = true input.contains(lazyy) = false // false dahil hindi nahanap ang buong substring input.contains(jumping) = false
Paliwanag ng Code
Pakitandaan, case-sensitive ang paraang ito para sa mga parameter ng input. Kaya sa snippet sa itaas, maaari mong obserbahan kapag hinanap mo ang "brown" na true ay ibinalik, samantalang ang false ay ibinalik para sa "Brown." Gayundin, makakakuha ka ng true kung makakita ka ng "fox" at false para sa "xof" o "oxf" dahil ang pagkakasunud-sunod ng mga character ay kailangang pareho. Panghuli, kung makakita ka ng "jump" o "jumped" makakakuha ka ng true dahil ang buong parameter ay nasa string na " input ". Samantalang, kung titingnan mo ang "paglukso" na mali ay ibinalik dahil ang buong susi ("paglukso") ay hindi nahanap.Pangangalaga sa Exceptions
Ang pamamaraan ng java.lang.String.contains() ay nagreresulta sa Null Pointer Exception kung nakalimutan mong simulan ang string ng parameter na may ilang kongkretong halaga.
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));
}
}
Output
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