Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Gộp mảng String thành một chuỗi trong Java (3 cách)

Chuyển String[] → String đơn lẻ.

Cách 1: StringBuilder – Hiệu năng tốt, kiểm soát delimiter


String[] arr = {"Hello", " ", "World", "!"};
StringBuilder sb = new StringBuilder();
for (String s : arr) sb.append(s);
String result = sb.toString(); // "Hello World!"

Cách 2: Arrays.toString() – Debug nhanh, KHÔNG tùy biến delimiter


String result = Arrays.toString(arr);
// "[Hello,  , World, !]" – có dấu ngoặc, dấu phẩy

⚠️ Không dùng cho production join string.

Cách 3: StringJoiner (Java 8+) – Chuẩn, hỗ trợ prefix/suffix/delimiter


import java.util.StringJoiner;

StringJoiner sj = new StringJoiner(", ", "[", "]"); // delim, prefix, suffix
for (String s : arr) sj.add(s);
String result = sj.toString(); // "[Hello,  , World, !]"

Cách 4: String.join() (Java 8+) – Ngắn nhất cho delimiter đơn giản


String result = String.join(", ", arr); // "Hello,  , World, !"

Cách 5: Stream API (Java 8+) – Linh hoạt


String result = String.join("", Arrays.stream(arr).toArray(String[]::new));
// hoặc
String result = Stream.of(arr).collect(Collectors.joining());

So sánh

Phương phápJava versionDelimiterPrefix/SuffixHiệu năng
StringBuilder loop1.0+Tự quản lýTự quản lý⭐⭐⭐⭐⭐
Arrays.toString()1.5+Cố định (, )Cố định [ ]⭐⭐⭐
StringJoiner8+Tùy chỉnhTùy chỉnh⭐⭐⭐⭐
String.join()8+Tùy chỉnhKhông⭐⭐⭐⭐
StreamCollectors8+Tùy chỉnhTùy chỉnh⭐⭐⭐

Ví dụ thực tế: CSV line


String[] fields = {"1001", "Nguyễn Văn An", "25", "Hà Nội"};
String csvLine = String.join(",", fields); // "1001,Nguyễn Văn An,25,Hà Nội"

Khuyến nghị: String.join(delim, arr) cho trường hợp đơn giản, StringJoiner khi cần prefix/suffix.