JavaRush /Java Blogu /Random-AZ /Java 8-də sətirləri birləşdirə bilərsiniz
theGrass
Səviyyə
Саратов

Java 8-də sətirləri birləşdirə bilərsiniz

Qrupda dərc edilmişdir
Əminəm ki, siz çoxlu sətirləri birləşdirmək istədiyiniz vəziyyətdə olmusunuz. Əgər siz Java-da yazmamısınızsa, o zaman join()proqramlaşdırma dilinin özü tərəfindən sizə verilən funksiyadan istifadə etmisiniz. Java-da yazmısınızsa, sadə bir səbəbdən bunu edə bilməzdiniz - bu üsul mövcud deyildi. Java-dakı standart sinif kitabxanası sizə GUI proqramları yaratmaq, verilənlər bazasına daxil olmaq, şəbəkə üzərindən məlumat göndərmək, XML transformasiyalarını həyata keçirmək və ya üçüncü tərəf kitabxanalarından metodları çağırmaq üçün alətlər təqdim edir. Simlər toplusunu birləşdirmək üçün sadə üsul daxil edilməmişdir. Bunu etmək üçün bir çox üçüncü tərəf kitabxanalarından birinə ehtiyacınız var idi. Java 8-də sətirləri birləşdirə bilərsiniz - 1Xoşbəxtlikdən, bu sona çatdı! Java 8-də biz nəhayət sətirləri birləşdirə bilərik! Java 8 adlı yeni sinif əlavə etdi StringJoiner. Adından göründüyü kimi, sətirləri birləşdirmək üçün bu sinifdən istifadə edə bilərik:
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"
Stringiki yeni statik metoddan istifadə edir 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"
CollectorHəmçinin, sətirləri birləşdirmək üçün axınlardan istifadə edərək yeni API-də xüsusi bir var :
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»
Beləliklə, sətirləri birləşdirmək üçün üçüncü tərəf kitabxanalarına ehtiyacımız yoxdur! Orijinal məqalə
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION