2010-06-13 67 views
57

Cách dễ nhất để thực hiện CharSequence[] trong số ArrayList<String> là gì?ArrayList <String> to CharSequence []

Chắc chắn tôi có thể lặp qua từng mục ArrayList và sao chép vào mảng CharSequence, nhưng có thể có cách tốt hơn/nhanh hơn?

Trả lời

209

Bạn có thể sử dụng List#toArray(T[]) cho việc này.

CharSequence[] cs = list.toArray(new CharSequence[list.size()]); 

Dưới đây là một bản demo nhỏ:

List<String> list = Arrays.asList("foo", "bar", "waa"); 
CharSequence[] cs = list.toArray(new CharSequence[list.size()]); 
System.out.println(Arrays.toString(cs)); // [foo, bar, waa] 
+15

+1 - Điểm là 'CharSequence' là giao diện và' Chuỗi' thực hiện nó. –

12

Cho rằng loại String đã thực hiện CharSequence, chuyển đổi này cũng đơn giản như hỏi danh sách để sao chép chính nó vào một mảng tươi, mà sẽ không thực sự sao chép bất kỳ dữ liệu ký tự cơ bản nào. Bạn chỉ sao chép các tham chiếu đến String các trường hợp xung quanh:

final CharSequence[] chars = list.toArray(new CharSequence[list.size()]); 
Các vấn đề liên quan