JavaRush /Java блогы /Random-KK /Java 8-де жолдарды біріктіруге болады
theGrass
Деңгей
Саратов

Java 8-де жолдарды біріктіруге болады

Топта жарияланған
Сіз бірнеше жолды біріктіргіңіз келетін жағдайда болғаныңызға сенімдімін. Егер сіз Java тілінде жазбаған болсаңыз, онда сіз join()бағдарламалау тілінің өзі берген функцияны пайдаланған боларсыз. Егер сіз Java тілінде жазсаңыз, мұны қарапайым себеппен жасай алмайсыз - бұл әдіс болған жоқ. Java тіліндегі стандартты класс кітапханасы сізге GUI қолданбаларын жасауға, дерекқорларға қол жеткізуге, желі арқылы деректерді жіберуге, XML түрлендірулерін орындауға немесе үшінші тарап кітапханаларынан әдістерді шақыруға арналған құралдармен қамтамасыз етті. Жолдар жинағын біріктірудің қарапайым әдісі қосылмаған. Мұны істеу үшін сізге көптеген үшінші тарап кітапханаларының бірі қажет болды. Java 8-де жолдарды біріктіруге болады - 1Бақытымызға орай, бұл аяқталды! Java 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