Bu işlev, bir dizgenin başka bir dizgi 'içerip içermediğini' kontrol etmek için özel olarak tasarlanmıştır. Bu konuda yeniyseniz, sonunda onu bir 'karakter' bulmak için kullanabilirsiniz. Ama amaca hizmet etmeyecek. Bu yazıda java.lang.String.contains()' in nasıl kullanıldığını, uygulandığını ve dikkatli kullanılmadığı takdirde hangi istisnaların ortaya çıkabileceğini ele alacağız .
include() yöntemi nedir?
Belirli bir dizide belirli bir " key " dizisinin olup olmadığını " bulmak " için include(String key) yöntemini kullanabilirsiniz . "key" bulunursa, "true" döndürülür. Aksi takdirde bir "yanlış" alırsınız.
Dahili Uygulama
Bu yöntem zaten java.lang.String tarafından uygulanmıştır . Bunu kendiniz uygulamak zorunda değilsiniz. İşte anlamanız için hızlı bir açıklama.
public class ContainsMethod
{
public boolean contains(CharSequence key)
{
return indexOf(key.toString()) > -1;
}
}
Kod Açıklama
include() yöntemi, giriş parametresi olarak bir CharSequence alır. Daha sonra bir “String” e dönüştürülür. Sonra bu ifade şu şekilde hesaplanır : indexOf(key.toString()) > -1; . Bunun anlamı, bu "anahtar" herhangi bir dizinde ("0" veya daha büyük) bulunursa, "true" döndürülür. Anahtar bulunamazsa, "yanlış" döndürülür.include() yöntemi nasıl kullanılır?
Bunu nasıl kullanabileceğiniz aşağıda açıklanmıştır.
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"));
}
}
Çıktı
input.contains(bro) = true input.contains(brown) = true input.contains(Brown) = false // false çünkü büyük/küçük harfe duyarlı input.contains(tilki) = true input.contains(xof) = false // false çünkü sıralama aynı olmalıdır input.contains(dog) = true input.contains(lazyy) = false // false çünkü tüm alt dizge bulunamadı input.contains(jumping) = false
Kod Açıklama
Lütfen bu yöntemin giriş parametreleri için büyük/küçük harfe duyarlı olduğunu unutmayın. Yani yukarıdaki pasajda, “kahverengi” için arama yaptığınızda true döndürüldüğünü, oysa “Brown” için false döndürüldüğünü gözlemleyebilirsiniz . Ayrıca, karakterlerin sırasının aynı olması gerektiğinden, "xof" veya "oxf" için "fox" ve false bulursanız doğru olur . Son olarak, "jump" veya "jumped" ifadesini bulursanız, parametrenin tamamı " giriş " dizesinde bulunduğundan bir true elde edersiniz . Oysa, "atlama" için kontrol yaparsanız, anahtarın tamamı ("atlama") bulunamadığından yanlış döndürülür.İstisnalarla ilgilenmek
java.lang.String.contains() yöntemi, parametre dizesini somut bir değerle başlatmayı unutursanız, Boş İşaretçi İstisnasına neden olur.
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));
}
}
Çıktı
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