JavaRush /Java blogi /Random-UZ /Java 8 da siz satrlarni birlashtirishingiz mumkin
theGrass
Daraja
Саратов

Java 8 da siz satrlarni birlashtirishingiz mumkin

Guruhda nashr etilgan
Ishonchim komilki, siz bir nechta satrlarni birlashtirmoqchi bo'lgan vaziyatda bo'lgansiz. Agar siz Java-da yozmagan bo'lsangiz, ehtimol siz join()dasturlash tilining o'zi tomonidan taqdim etilgan funksiyadan foydalangansiz. Agar siz Java-da yozgan bo'lsangiz, oddiy sababga ko'ra buni qila olmadingiz - bu usul mavjud emas edi. Java-dagi standart sinf kutubxonasi sizga GUI ilovalarini yaratish, ma'lumotlar bazalariga kirish, tarmoq orqali ma'lumotlarni jo'natish, XML o'zgarishlarini amalga oshirish yoki uchinchi tomon kutubxonalaridan usullarni chaqirish uchun vositalarni taqdim etdi. Satrlar to'plamini birlashtirishning oddiy usuli kiritilmagan. Buning uchun sizga uchinchi tomon kutubxonalaridan biri kerak edi. Java 8 da siz satrlarni birlashtirishingiz mumkin - 1Yaxshiyamki, bu nihoyasiga yetdi! Java 8 da biz nihoyat satrlarni birlashtira olamiz! Java 8 yangi sinfni qo'shdi StringJoiner. Nomidan ko'rinib turibdiki, biz ushbu sinfdan satrlarni birlashtirish uchun foydalanishimiz mumkin:
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"
Stringikkita yangi statik usuldan foydalanadi 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"
CollectorShuningdek, satrlarni birlashtirish uchun yangi APIda oqimlardan foydalangan holda maxsus mavjud :
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»
Shunday qilib, biz boshqa qatorlarni birlashtirish uchun uchinchi tomon kutubxonalariga muhtoj emasmiz! Asl maqola
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION