JavaRush /בלוג Java /Random-HE /הפניה ל-Java. מיתרים סטטיים
articles
רָמָה

הפניה ל-Java. מיתרים סטטיים

פורסם בקבוצה
מחרוזות ב-Java מתוארות על ידי המחלקה String והן סטטיות, כלומר. בשורה קיימת, לא ניתן לשנות את התווים ואת מספרם. בנוסף ליצירה הסטנדרטית על ידי המפעיל החדש, ניתן ליצור מחרוזות ישירות ממחרוזת מילולית. במקביל, למטרות אופטימיזציה, אובייקטים שנוצרו בצורה זו מאוחסנים בנוסף באזור נפרד - בריכת המיתרים. String s1 = "d" // строка будет сохранена в пуле // строка не будет сохранена в пуле // будет уничтожена сборщиком мусора String s2 = new String("a"); אחד היתרונות של חלוקת מחרוזות לסטטי ודינמי הוא שהיא מגבירה את האבטחה כאשר מחרוזות משמשות כארגומנטים (לדוגמה, פתיחת מסדי נתונים, חיבורי אינטרנט, מנגנוני טעינת מחלקות).

פעולה +

פעולת + זמינה עבור מחרוזות, ומאפשרת לשלב מספר מחרוזות לאחת. אם אחד מהאופרנדים אינו מחרוזת, הוא מומר אוטומטית למחרוזת. עבור אובייקטים, שיטת toString משמשת למטרה זו. כל פעולה משתמשת באופן פנימי באובייקט StringBuilder או StringBuffer דינמי. לכן, כדי להרכיב מחרוזת מכמה, עדיין אופטימלי להשתמש ב-StringBuilder/StringBuffer אחד בבת אחת.

בחירת מחרוזת משנה

יש הערה לגבי שיטת המשנה - המחרוזת המוחזרת משתמשת באותו מערך בתים כמו זה המקורי. לדוגמה, הורדת שורה א' מקובץ של 1MB. הם מצאו שם משהו והפרידו אותו לשורה נפרדת ב', באורך 3 תווים. קו B במציאות גם תופס את אותו 1MB. String s ="very .... long string from file"; // совместно использует ту же память что и s String sub1 = s.substring(2,4); // этот an object использует отдельный массив на 4 символа String sub2 = new String(s.substring(2,4));

שיטות בסיסיות

  • compareTo (String anotherString) - השוואה לקסיקוגרפית של מחרוזות;
  • compareToIgnoreCase (String str) - השוואה לקסיקוגרפית לא תלוית רישיות של מחרוזות;
  • regionMatches (בוליאני ignoreCase, int toffset, String other, int ooffset, int len) - בדיקת זהות אזורי מחרוזת, ניתן לציין רגישות רישיות;
  • regionMatches (int toffset, String other, int ooffset, int len) - בדיקת זהות אזורי מחרוזת;
  • concat (String str) - מחזיר את השרשור של שתי מחרוזות;
  • מכיל (CharSequence s) - בודק האם רצף התווים שצוין כלול במחרוזת;
  • endsWith (סיומת מחרוזת) - בודק אם המחרוזת מסתיימת בסיומת שצוינה;
  • startsWith (קידומת מחרוזת) - בודק אם המחרוזת מתחילה בקידומת שצוינה;
  • startsWith (מחרוזת קידומת, int toffset) - בודק אם המחרוזת במיקום שצוין מתחילה בקידומת שצוינה;
  • equals (Object anObject) - בודק אם המחרוזת זהה לאובייקט שצוין;
  • getBytes () - מחזיר את ייצוג הבתים של המחרוזת;
  • getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin) - מחזירה ייצוג תו של קטע של מחרוזת;
  • hashCode () - קוד hash של המחרוזת;
  • indexOf (int ch) - חפש את המופע הראשון של תו במחרוזת;
  • indexOf (int ch, int fromIndex) - מחפש את ההופעה הראשונה של תו במחרוזת מהמיקום שצוין;
  • indexOf (String str) - חפש את המופע הראשון של המחרוזת המשנה שצוינה;
  • indexOf (String str, int fromIndex) - מחפש את המופע הראשון של המחרוזת המשנה שצוינה מהמיקום שצוין;
  • lastIndexOf (int ch) - חפש את המופע האחרון של סמל;
  • lastIndexOf (int ch, int fromIndex) - חפש את המופע האחרון של תו מהמיקום שצוין;
  • lastIndexOf (String str) - חפש את המופע האחרון של מחרוזת;
  • lastIndexOf (String str, int fromIndex) - מחפש את המופע האחרון של מחרוזת מהמיקום שצוין;
  • replace (char oldChar, char newChar) - החלפת תו אחד במחרוזת באחר;
  • replace (charSequence target, CharSequence replacement) - החלפת תת-מחרוזת אחת באחרת;
  • substring (int beginIndex, int endIndex) - החזר מחרוזת משנה כמחרוזת;
  • toLowerCase () - המרת מחרוזת לאותיות קטנות;
  • toLowerCase (Locale locale) - המרת מחרוזת לאותיות קטנות באמצעות המקום שצוין;
  • toUpperCase() - המרת המחרוזת לאותיות גדולות;
  • toUpperCase (locale locale) - המרת מחרוזת לאותיות רישיות באמצעות המקום שצוין;
  • trim() - חתוך תווים ריקים בקצות המחרוזת;
  • valueOf(a) - שיטות סטטיות להמרת סוגים שונים למחרוזת.
שיטות חיפוש מחזירות את האינדקס של ההתרחשות או -1 אם הפריט שחיפוש לא נמצא. שיטות המרה כמו replace אינן משנות את המחרוזת עצמה אלא מחזירות אובייקט מחרוזת חדש תואם. שיטות עם ביטויים רגולריים למחרוזות יש גם מספר שיטות המשתמשות בביטויים רגולריים :
  • matches (String regex) - האם המחרוזת תואמת לביטוי הרגולרי שצוין;
  • replaceAll (String regex, String rplс) - מחליף את כל המופעים של מחרוזות המספקות את הביטוי הרגולרי במחרוזת שצוינה;
  • replaceFirst (String regex, String rplс) - מחליף את המופע הראשון של מחרוזת התואמת את הביטוי הרגולרי למחרוזת שצוינה;
  • split (String regex) - מפצל מחרוזת לחלקים, גבולות הפיצול הם מופעים של מחרוזות המקיימות את הביטוי הרגולרי;
  • split (String regex, int limit) - דומה לקודם, אך עם המגבלה של החלת הביטוי הרגולרי על המחרוזת לערך הגבול. אם limit>0, אז הגודל של מערך המחרוזות המוחזר לא יחרוג מהמגבלה. אם limit<=0, אז הביטוי הרגולרי מוחל על המחרוזת מספר בלתי מוגבל של פעמים.
קישור למקור המקורי: http://darkraha.com/rus/java/lang/string/static_string.php
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION