2008-11-18 42 views

Trả lời

29

Nếu không có sự sao chép:

CharSequence seq = java.nio.CharBuffer.wrap(array); 

Tuy nhiên, cách tiếp cận new String(array) có thể được dễ dàng hơn để viết, dễ đọc hơn và nhanh hơn.

+0

Tôi đã chọn cách trực tiếp nhất. của bạn có lẽ là hiệu quả nhất, bạn không thể có cả hai tôi đoán – jjnguy

+0

trực tiếp? Trực tiếp hơn không sao chép, chắc chắn? Nhưng mã lớp con CharBuffer có lẽ ít được thực hiện tốt hơn, vì vậy có thể sẽ chậm hơn. –

+0

Tôi không chắc tại sao bạn nghĩ CharBuffer.wrap sẽ chậm hơn? Chỉ vì mã ít trưởng thành hơn? Chắc chắn nếu tôi đang làm điều này trong một vòng lặp chặt chẽ, tôi nên thích các phiên bản miễn phí bản sao? –

8

A StringCharSequence. Vì vậy, bạn chỉ có thể tạo một String mới cho số char[] của mình.

CharSequence seq = new String(arr); 
Các vấn đề liên quan