CodeGym /בלוג Java /Random-HE /Java String contains() Method
John Squirrels
רָמָה
San Francisco

Java String contains() Method

פורסם בקבוצה
פונקציה זו תוכננה במיוחד כדי לבדוק אם מחרוזת 'מכילה' מחרוזת נוספת או לא. אם אתה חדש בזה, ייתכן שתשתמש בו כדי למצוא 'דמות'. אבל זה לא ישרת את המטרה. במאמר זה, נתייחס כיצד נעשה שימוש, יישום של java.lang.String.contains() ואילו חריגים יכולים להופיע אם לא נעשה שימוש זהיר.

מהי שיטת contains()?

אתה יכול להשתמש בשיטת contains(String key) כדי " למצוא " אם מחרוזת מסוימת " מפתח " קיימת בתוך מחרוזת מסוימת או לא. אם נמצא "מפתח", "true" מוחזר. אחרת תקבל "שקר".Java String contains() Method - 1

יישום פנימי

שיטה זו כבר מיושמת על ידי java.lang.String . אתה לא צריך ליישם את זה בעצמך. הנה הסבר מהיר על זה להבנתך.
public class ContainsMethod
{
    public boolean contains(CharSequence key)
    {
        return indexOf(key.toString()) > -1;
    }
}

הסבר קוד

שיטת contains() לוקחת CharSequence כפרמטר קלט. אשר מומר מאוחר יותר ל"מחרוזת". אז הביטוי הזה מחושב indexOf(key.toString()) > -1; . כלומר, אם ה"מפתח" הזה נמצא באינדקס כלשהו ("0" או יותר), אז "true" מוחזר. ואם המפתח לא נמצא, אזי "שקר" מוחזר.

כיצד להשתמש בשיטת contains()?

הנה איך אתה יכול להשתמש בו.
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(bro) = 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 מוחזר עבור "חום". כמו כן, תקבל אמת אם תמצא "פוקס" ו- false עבור "xof" או "oxf" מכיוון שסדר התווים צריך להיות זהה. לבסוף, אם תמצא "קפיצה" או "קפיצה" תקבל אמת מכיוון שכל הפרמטר קיים במחרוזת " קלט ". בעוד שאם תבדוק אם יש "קפיצה" מוחזר false מכיוון שהמפתח כולו ("קפיצה") לא נמצא.

טיפול בחריגים

שיטת java.lang.String.contains() גורמת ל-Null Pointer Exception אם תשכח לאתחל את מחרוזת הפרמטרים עם ערך קונקרטי כלשהו.
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)

סיכום

שיטת Contains() מספקת כלי עזר שימושי ב-Java למציאת כל רצף char או מחרוזת. אנו מקווים שעד סוף הפוסט הזה, אתה מכיר את השימוש והיישום שלו. להבנה טובה עוד יותר, מומלץ להפשיל שרוולים ולהתחיל לעבוד. יצירת קוד נטול שגיאות מגיעה במאמץ עקבי. אז בואו נבין חברים! אתה תמיד מוזמן לחזור לכאן כשאתה נתקע. קידוד שמח. :)
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION