Tôi đang sử dụng StringBuffer trong Java để concat chuỗi với nhau, như vậy:Java: StringBuffer & Concatenation
StringBuffer str = new StringBuffer();
str.append("string value");
Tôi muốn biết nếu có một phương pháp (mặc dù tôi đã không tìm thấy bất cứ điều gì từ một cách nhanh chóng lướt qua tài liệu hướng dẫn) hoặc một số cách khác để thêm "đệm".
Hãy để tôi giải thích; mỗi lần tôi thêm một thứ gì đó vào chuỗi, tôi muốn thêm một khoảng trống vào cuối, như vậy:
String foo = "string value";
str.append(foo + " ");
và tôi có một số cuộc gọi để nối thêm ... và mỗi lần, tôi muốn thêm khoảng trắng. Có cách nào để đặt đối tượng sao cho nó sẽ tự động thêm một không gian sau mỗi lần nối thêm?
EDIT -
String input
StringBuffer query = new StringBuffer();
Scanner scanner = new Scanner(System.in);
scanner.UseDelimiter("\n");
do {
System.out.println("sql> ");
input = scanner.next();
if (!empty(input)) query.append(input);
if (query.toString().trim().endsWith(";")) {
//run query
}
}
while (!input.equalsIgnoreCase("exit");
tôi sẽ sử dụng StringBuilder dù như Grom gợi ý, nhưng đó là cách mã trông ngay bây giờ
bạn có thể cho chúng tôi thấy một số mã thực sự của bạn nơi bạn đang thêm các mục không? Bởi vì có thể có một cách khác để xây dựng chuỗi có ý nghĩa hơn. – grom
hmm, về cơ bản tôi có vòng lặp do-while nối thêm đầu vào vào một chuỗi và vòng lặp tồn tại khi đầu vào kết thúc bằng dấu ";" –
Có lẽ thanh lịch hơn (và nhanh hơn) để sử dụng cụm từ thông dụng để xác định xem có chạy truy vấn hay không, ví dụ: if (query.matches (". *; \ S *")) { –