JavaRush /Blog Java /Random-PL /W Javie 8 możesz łączyć ciągi znaków
theGrass
Poziom 24
Саратов

W Javie 8 możesz łączyć ciągi znaków

Opublikowano w grupie Random-PL
Jestem pewien, że byłeś w sytuacji, w której chciałeś połączyć wiele linii. Jeśli nie pisałeś w Javie, prawdopodobnie użyłeś funkcji join()dostarczonej przez sam język programowania. Jeśli pisałeś w Javie, nie mogłeś tego zrobić z prostego powodu – taka metoda nie istniała. Standardowa biblioteka klas w Javie zapewnia narzędzia do tworzenia aplikacji GUI, uzyskiwania dostępu do baz danych, wysyłania danych przez sieć, wykonywania transformacji XML lub wywoływania metod z bibliotek innych firm. Nie uwzględniono prostej metody łączenia kolekcji ciągów znaków. Aby to zrobić, potrzebna była jedna z wielu bibliotek innych firm. W Javie 8 możesz łączyć ciągi - 1Na szczęście to się już skończyło! W Javie 8 w końcu możemy łączyć ciągi znaków! Java 8 dodała nową klasę o nazwie StringJoiner. Jak sama nazwa wskazuje, możemy użyć tej klasy do łączenia ciągów znaków:
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"
Stringwykorzystuje dwie nowe metody statyczne 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"
CollectorPonadto w nowym API dostępna jest specjalna funkcja służąca do łączenia ciągów, wykorzystująca strumienie:
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»
W ten sposób naprawdę nie potrzebujemy już bibliotek innych firm do łączenia ciągów znaków! Oryginalny artykuł
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION