Тази функция е специално проектирана да проверява дали даден низ "съдържа" друг низ or не. Ако не сте запознати с това, може да се окаже, че го използвате, за да намерите „персонаж“. Но няма да служи на целта. В тази статия ще разгледаме How java.lang.String.contains() се използва, внедрява и Howви изключения могат да възникнат, ако не се използва внимателно.
Какво представлява методът contains()?
Можете да използвате метода contains(String key), за да „ намерите “ дали даден низ „ ключ “ присъства в даден низ or не. Ако бъде намерен „ключ“, се връща „истина“. В противен случай ще получите „невярно“.Вътрешно внедряване
Този метод вече е имплементиран от java.lang.String . Не е нужно да прилагате това сами. Ето кратко обяснение за това, за да го разберете.
public class ContainsMethod
{
public boolean contains(CharSequence key)
{
return indexOf(key.toString()) > -1;
}
}
Код Обяснение
съдържа() , приема CharSequence като входен параметър. Което по-късно се преобразува в „низ“. След това този израз се изчислява indexOf(key.toString()) > -1; . Което означава, че ако този „ключ“ бъде намерен на произволен индекс („0“ or по-голям), тогава се връща „true“. И ако ключът не бъде намерен, тогава се връща „false“.Как да използвам метода contains()?
Ето How можете да го използвате.
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"));
}
}
Изход
input.contains(bron) = true input.contains(brown) = true input.contains(Brown) = false // false, защото регистърът на буквите е чувствителен input.contains(fox) = true input.contains(xof) = false // false тъй като редът трябва да е същият input.contains(dog) = true input.contains(lazyy) = false // false, защото целият подниз не е намерен input.contains(jumping) = false
Код Обяснение
Моля, имайте предвид, че този метод е чувствителен към малки и малки букви за входните параметри. Така че в горния фрагмент можете да наблюдавате, когато търсите „кафяво“, се връща true , докато false се връща за „кафяво“. Освен това ще получите true , ако намерите „fox“ и false за „xof“ or „oxf“, тъй като редът на знаците трябва да е същият. И накрая, ако намерите „jump“ or „jumped“, ще получите true , тъй като целият параметър присъства в низа „ input “. Докато, ако проверите за „скачане“, се връща false , защото целият ключ („скачане“) не е намерен.Грижа за изключенията
Методът java.lang.String.contains() води до изключение за нулев указател, ако забравите да инициализирате низа на параметъра с няHowва конкретна стойност.
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));
}
}
Изход
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