JavaRush /בלוג Java /Random-HE /ב-Java 8 ניתן לשרשר מחרוזות
theGrass
רָמָה
Саратов

ב-Java 8 ניתן לשרשר מחרוזות

פורסם בקבוצה
אני בטוח שהיית במצב שבו רצית לשרשר שורות מרובות. אם לא כתבת ב-Java, כנראה שהשתמשת בפונקציה join()שסיפקת לך שפת התכנות עצמה. אם כתבת ב-Java, לא יכולת לעשות זאת מסיבה פשוטה - השיטה הזו לא הייתה קיימת. ספריית הכיתה הסטנדרטית ב-Java סיפקה לך את הכלים ליצור יישומי GUI, לגשת לבסיסי נתונים, לשלוח נתונים דרך הרשת, לבצע טרנספורמציות של XML או להתקשר לשיטות מספריות של צד שלישי. שיטה פשוטה לשרשור אוסף של מחרוזות לא נכללה. לשם כך, היית זקוק לאחת מספריות צד שלישי רבות. ב-Java 8 ניתן לשרשר מחרוזות - 1למרבה המזל, זה הגיע לסיומו! בג'אווה 8 נוכל סוף סוף לשרשר מחרוזות! Java 8 הוסיפה מחלקה חדשה בשם StringJoiner. כפי שהשם מרמז, אנו יכולים להשתמש במחלקה זו כדי לשרשר מחרוזות:
StringJoiner joiner = new StringJoiner(",");
joiner.add("foo");
joiner.add("bar");
joiner.add("baz");
String joined = joiner.toString(); // "foo,bar,baz"

// add() calls can be chained
joined = new StringJoiner("-")
.add("foo")
.add("bar")
.add("baz")
.toString(); // "foo-bar-baz"
Stringמשתמש בשתי שיטות סטטיות חדשות join() StringJoiner:
// join(CharSequence delimiter, CharSequence... elements)
String joined = String.join("/", "2014", "10", "28" ); // "2014/10/28"

// join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
List<String> list = Arrays.asList("foo", "bar", "baz");
joined = String.join(";", list); // «foo;bar;baz"
כמו כן, לשרשור מחרוזות יש אחד מיוחד Collectorב-API החדש באמצעות זרמים:
List<Person> list = Arrays.asList(
 new Person("John", "Smith"),
 new Person("Anna", "Martinez"),
 new Person("Paul", "Watson ")
);

String joinedFirstNames = list.stream()
 .map(Person::getFirstName)
 .collect(Collectors.joining(", ")); // "John, Anna, Paul»
כך אנחנו באמת לא צריכים ספריות של צד שלישי כדי לשרשר מחרוזות! מאמר מקורי
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION