Tôi đã kiểm tra các câu hỏi khác; câu hỏi này tập trung vào giải quyết câu hỏi cụ thể này một cách hiệu quả nhất.Java - Tạo một thể hiện String mới với độ dài được chỉ định và được lấp đầy với các ký tự cụ thể. Giải pháp tốt nhất?
Đôi khi bạn muốn tạo một chuỗi mới có độ dài được chỉ định và với ký tự mặc định sẽ làm đầy toàn bộ chuỗi.
tức là, sẽ thật tuyệt nếu bạn có thể làm new String(10, '*')
và tạo Chuỗi mới từ đó, với độ dài 10 ký tự đều có dấu *.
Vì hàm tạo như vậy không tồn tại và bạn không thể mở rộng từ chuỗi, bạn có thể tạo lớp trình bao bọc hoặc phương thức để làm điều này cho bạn.
Tại thời điểm này tôi đang sử dụng này:
protected String getStringWithLengthAndFilledWithCharacter(int length, char charToFill) {
char[] array = new char[length];
int pos = 0;
while (pos < length) {
array[pos] = charToFill;
pos++;
}
return new String(array);
}
Nó vẫn còn thiếu bất kỳ kiểm tra (ví dụ, khi chiều dài là 0 nó sẽ không làm việc). Tôi đang xây dựng mảng đầu tiên bởi vì tôi tin rằng nó là nhanh hơn so với sử dụng chuỗi concatination hoặc sử dụng một StringBuffer để làm như vậy.
Bất kỳ ai khác có khả năng bị nhiễm khuẩn tốt hơn?
+1 - đó chính xác là những gì anh ấy đang tìm kiếm (hay còn gọi là 'cool'). Đối với các hành vi tương tự chính xác, nhưng đó là hiển nhiên, làm: 'StringUtils.leftPad (" ", 10, '*');' –
1 giải pháp tốt đẹp, mặc dù tôi sẽ không thêm một cái lọ vào dự án của tôi chỉ cho điều đó. – abyx
Cảm ơn. Có vẻ như đó là cách phù hợp hơn để sử dụng nó. May mắn thay tôi đã sử dụng cái bình này, vì vậy tôi có thể sử dụng nó ngay lập tức. –