Fungsi ini dirancang khusus untuk memeriksa apakah suatu string 'mengandung' string lain atau tidak. Jika Anda baru dalam hal ini, Anda mungkin akan menggunakannya untuk menemukan 'karakter'. Tapi itu tidak akan melayani tujuan. Pada artikel ini, kami akan membahas bagaimana java.lang.String.contains() digunakan, diimplementasikan, dan pengecualian apa yang dapat muncul jika tidak digunakan dengan hati-hati.
Apa itu metode contains()?
Anda dapat menggunakan metode contains(String key) untuk " menemukan " apakah string " key " tertentu ada dalam string tertentu atau tidak. Jika "kunci" ditemukan, "benar" dikembalikan. Jika tidak, Anda akan mendapatkan "salah".Implementasi Internal
Metode ini sudah diimplementasikan oleh java.lang.String . Anda tidak harus menerapkan ini sendiri. Berikut penjelasan singkatnya untuk pemahaman Anda.
public class ContainsMethod
{
public boolean contains(CharSequence key)
{
return indexOf(key.toString()) > -1;
}
}
Penjelasan Kode
berisi() metode, mengambil CharSequence sebagai parameter masukan. Yang kemudian diubah menjadi "String". Kemudian ekspresi ini dihitung indexOf(key.toString()) > -1; . Artinya, jika "kunci" itu ditemukan di indeks mana pun ( "0" atau lebih besar ) maka "true" dikembalikan. Dan jika kuncinya tidak ditemukan, maka "false" dikembalikan.Bagaimana cara menggunakan metode contains()?
Inilah cara Anda dapat menggunakannya.
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"));
}
}
Keluaran
input.contains(bro) = true input.contains(brown) = true input.contains(Brown) = false // false karena case-sensitive input.contains(fox) = true input.contains(xof) = false // false karena urutannya harus sama input.contains(dog) = true input.contains(lazyy) = false // false karena seluruh substring tidak ditemukan input.contains(jumping) = false
Penjelasan Kode
Harap diperhatikan, metode ini peka terhadap huruf besar-kecil untuk parameter masukan. Jadi dalam cuplikan di atas, Anda dapat mengamati ketika Anda mencari "coklat" true dikembalikan, sedangkan false dikembalikan untuk "Brown". Selain itu, Anda akan mendapatkan true jika Anda menemukan "fox" dan false untuk "xof" atau "oxf" karena urutan karakternya harus sama. Terakhir, jika Anda menemukan "jump" atau "jumped", Anda akan mendapatkan nilai true karena seluruh parameter ada di string " input ". Sedangkan jika Anda mencentang "jumping" false dikembalikan karena seluruh kunci ("jumping") tidak ditemukan.Merawat Pengecualian
Metode java.lang.String.contains() menghasilkan Null Pointer Exception jika Anda lupa menginisialisasi string parameter dengan beberapa nilai konkret.
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));
}
}
Keluaran
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