JavaRush /Java Blog /Random-TK /Java 8-de setirleri birleşdirip bilersiňiz
theGrass
Dereje
Саратов

Java 8-de setirleri birleşdirip bilersiňiz

Toparda çap edildi
Birnäçe setiri birleşdirmek isleýän ýagdaýyňyza ynanýaryn. Java-da ýazmadyk bolsaňyz, join()programmirleme diliniň özi tarapyndan berlen funksiýany ulanan bolsaňyz gerek. Java-da ýazan bolsaňyz, ýönekeý bir sebäp bilen edip bilmersiňiz - bu usul ýokdy. Java-daky adaty synp kitaphanasy size GUI programmalaryny döretmek, maglumat bazalaryna girmek, tor arkaly maglumat ibermek, XML üýtgeşmelerini amala aşyrmak ýa-da üçünji tarap kitaphanalaryndan usullary çagyrmak üçin gurallar bilen üpjün etdi. Setirler ýygyndysyny birleşdirmegiň ýönekeý usuly goşulmady. Munuň üçin köp sanly üçünji tarap kitaphanalarynyň biri gerekdi. Java 8-de setirleri birleşdirip bilersiňiz - 1Bagtymyza, bu gutardy! Java 8-de ahyrsoňy setirleri birleşdirip bileris! Java 8 atly täze synp goşuldy StringJoiner. Adyndan görnüşi ýaly, setirleri birleşdirmek üçin bu synpy ulanyp bileris:
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 sany täze statiki usuly ulanýar 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Şeýle hem, setirleri birleşdirmek üçin täze API-de akymlary ulanýan aýratyn bir zat bar :
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»
Şeýlelik bilen, setirleri birleşdirmek üçin hakykatdanam üçünji tarap kitaphanalary gerek däl! Asyl makala
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION