Ə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. Xoş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"
String
iki 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"
Collector
Hə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ə
GO TO FULL VERSION