JavaRush /Blog Java /Random-VI /Trong Java 8 bạn có thể nối các chuỗi
theGrass
Mức độ
Саратов

Trong Java 8 bạn có thể nối các chuỗi

Xuất bản trong nhóm
Tôi chắc rằng bạn đã từng gặp trường hợp muốn nối nhiều dòng. Nếu bạn không viết bằng Java thì có thể bạn đã sử dụng một hàm do join()chính ngôn ngữ lập trình cung cấp cho bạn. Nếu bạn viết bằng Java, bạn không thể làm điều này vì một lý do đơn giản - phương pháp này không tồn tại. Thư viện lớp tiêu chuẩn trong Java cung cấp cho bạn các công cụ để tạo ứng dụng GUI, truy cập cơ sở dữ liệu, gửi dữ liệu qua mạng, thực hiện chuyển đổi XML hoặc gọi các phương thức từ thư viện bên thứ ba. Một phương pháp đơn giản để nối một tập hợp các chuỗi không được đưa vào. Để làm điều này, bạn cần một trong nhiều thư viện của bên thứ ba. Trong Java 8 bạn có thể nối chuỗi - 1May mắn thay, điều này đã kết thúc! Trong Java 8 cuối cùng chúng ta cũng có thể nối các chuỗi! Java 8 đã thêm một lớp mới gọi là StringJoiner. Như tên cho thấy, chúng ta có thể sử dụng lớp này để nối các chuỗi:
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"
Stringsử dụng hai phương thức tĩnh mới 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"
Ngoài ra, để nối các chuỗi, có một chuỗi đặc biệt Collectortrong API mới sử dụng các luồng:
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»
Bằng cách này, chúng tôi thực sự không cần thư viện của bên thứ ba để nối chuỗi nữa! Bài báo gốc
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION