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?
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?
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]
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()]);
+1 - Điểm là 'CharSequence' là giao diện và' Chuỗi' thực hiện nó. –