מחרוזת Java רב-קו

1. סקירה כללית

בשל העובדה שאין עדיין מחלקה מיתרית רב-שורתית מקורית בג'אווה, זה קצת מסובך ליצור ולהשתמש במחרוזות רב-שורות.

במדריך זה אנו עוברים על מספר שיטות ל- ליצור ולהשתמש במחרוזות מרובות שורות ב- Java.

2. השגת מפריד הקווים

לכל מערכת הפעלה יכולה להיות דרך משלה להגדיר ולהכיר קווים חדשים. בג'אווה, קל מאוד להשיג את המפריד בין קווי ההפעלה של מערכת ההפעלה:

מחרוזת newLine = System.getProperty ("line.separator");

אנחנו הולכים להשתמש בזה שורה חדשה בסעיפים הבאים ליצירת מחרוזות מרובות שורות.

3. שרשור מיתרים

שרשור מחרוזות היא שיטה מקורית קלה אשר באמצעותה ניתן ליצור מחרוזות מרובות שורות:

מחרוזת מחרוזת ציבוריתConcatenation () {return "קבל עסוק בחיים" .concat (newLine) .concat ("או") .concat (newLine) .concat ("להיות עסוק במות.") .concat (newLine) .concat ("- סטפן קינג"); }

השימוש באופרטור + הוא דרך נוספת להשיג את אותו הדבר. מהדרי Java מתורגמים concat () והמפעיל + באותו אופן:

public String stringConcatenation () {להחזיר "תעסוק בחיים" + newLine + "או" + newLine + "להיות עסוק במות." + newLine + "- סטפן קינג"; }

4. מחרוזת הצטרפות

ג'אווה 8 הוצגה מחרוזת # הצטרפות, שלוקח תיחום יחד עם כמה מחרוזות כטיעונים. הוא מחזיר מחרוזת סופית שכל מחרוזות הקלט מחוברות יחד עם המפריד:

מחרוזת מחרוזת ציבוריתJoin () {return String.join (newLine, "להתעסק בלחיות", "או", "להיות עסוק במות.", "- סטפן קינג"); }

5. בונה מיתרים

StringBuilder הוא מעמד עוזר לבנות חוּטס. StringBuilder הוצג בג'אווה 1.5 כתחליף ל- StringBuffer. זו בחירה טובה לבניית מיתרי ענק בלולאה:

public String stringBuilder () {להחזיר StringBuilder חדש () .append ("התעסק בחיים") .append (newLine) .append ("או") .append (newLine) .append ("להיות עסוק במות.") .append ( newLine) .append ("- Stephen King") .toString (); }

6. סופר מיתרים

StringWriter היא שיטה נוספת שנוכל להשתמש בה כדי ליצור מחרוזת רב-קו. אנחנו לא צריכים שורה חדשה כאן, כי אנחנו משתמשים PrintWriter. ה println פונקציה מוסיפה אוטומטית שורות חדשות:

מחרוזת מחרוזת ציבורית () {מחרוזת מחרוזת = מחרוזת חדשה (); PrintWriter printWriter = PrintWriter חדש (stringWriter); printWriter.println ("התעסק בחיים"); printWriter.println ("או"); printWriter.println ("התעסק בתמותה."); printWriter.println ("- סטיבן קינג"); להחזיר stringWriter.toString (); }

7. מצטרף לגויאבה

שימוש בספריה חיצונית רק למשימה פשוטה כזו לא הגיוני במיוחד, אולם אם הפרויקט כבר משתמש בספרייה למטרות אחרות, נוכל להשתמש בה. לדוגמה, ספריית גויאבה של גוגל פופולרית מאוד. לגויאבה יש נַגָר מחלקה המסוגלת לבנות מיתרים מרובי שורות:

ציבורי מחרוזת guavaJoiner () {החזר Joiner.on (newLine) .join (ImmutableList.of ("התעסק בחיים", "או", "תפוס למות.", "- סטפן קינג")); }

8. טוען מקובץ

Java קוראת קבצים בדיוק כפי שהם. המשמעות היא שאם יש לנו מחרוזת רב-שורתית בקובץ טקסט, תהיה לנו אותה מחרוזת כשאנחנו קוראים את הקובץ. ישנן הרבה דרכים לקרוא מקובץ ב- Java.

למעשה, זה נוהג טוב להפריד מחרוזות ארוכות מקוד:

מחרוזת loadFromFile () זורק IOException {להחזיר מחרוזת חדשה (Files.readAllBytes (Paths.get ("src / main / resources / stephenking.txt"))); }

9. שימוש בתכונות IDE

IDEs מודרניים רבים תומכים בהעתקה / הדבקה בשורות רבות. Eclipse ו- IntelliJ IDEA הם דוגמאות ל- IDE כאלה. אנו יכולים פשוט להעתיק את המחרוזת הרב-שורתית שלנו ולהדביק בתוך שתי ציטוטים כפולים ב- IDE אלה.

ברור ששיטה זו לא עובדת ליצירת מחרוזות בזמן ריצה, אך זו דרך מהירה וקלה להשיג מחרוזת רב-שורתית.

10. מסקנה

במדריך זה למדנו מספר שיטות לבניית מיתרים מרובי שורות בג'אווה.

החדשות הטובות הן כי ל- Java 13 תהיה תמיכה מקורית בחוטים מרובי-קו באמצעות בלוקים של טקסט. למותר לציין שכל השיטות לעיל עדיין יעבדו ב- Java 13.

הקוד לכל השיטות במאמר זה זמין באתר Github.