Giả sử list ký tự:
List<Character> list = Arrays.asList('W', 'e', 'l', 'c', 'o', 'm', 'e');
Chuyển list ký tự thành String:
String string = list.stream().map(String::valueOf).collect(Collectors.joining());
Ví dụ hoàn chỉnh
import java.util.stream.Collectors;
import java.util.Arrays;
import java.util.List;
public class Demo {
public static void main(String[] args) {
List<Character> list = Arrays.asList('W', 'e', 'l', 'c', 'o', 'm', 'e');
String string = list.stream().map(String::valueOf).collect(Collectors.joining());
System.out.println("String = " + string);
}
}
Kết quả
String = Welcome
Giải thích: map(String::valueOf) chuyển mỗi Character thành String (1 ký tự). Collectors.joining() nối các string không delimiter. Có thể dùng Collectors.joining("") rõ ràng hơn.
Cách khác: Dùng StringBuilder hiệu suất tốt hơn cho list lớn:
StringBuilder sb = new StringBuilder(); for (Character c : list) sb.append(c); String result = sb.toString();