Trong quá trình làm việc với cơ sở dữ liệu, tôi nhận thấy rằng tôi viết chuỗi truy vấn và trong chuỗi này, tôi phải đặt một số hạn chế trong mệnh đề where-từ danh sách / mảng / bộ sưu tập. Sẽ như thế này:
select * from customer
where customer.id in (34, 26, ..., 2);
Bạn có thể đơn giản hóa điều này bằng cách giảm điều này thành câu hỏi rằng bạn có tập hợp các chuỗi và muốn tạo một danh sách được phân tách bằng dấu phẩy của các chuỗi này chỉ trong một chuỗi.
Cách tiếp cận của tôi mà tôi đã sử dụng cho đến nay là một cái gì đó như thế:
String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
if(first) {
result+=string;
first=false;
} else {
result+=","+string;
}
}
Nhưng điều này là như bạn thấy rất xấu xí. Bạn không thể thấy điều gì xảy ra ở đó ngay từ cái nhìn đầu tiên, đặc biệt khi các chuỗi được xây dựng (giống như mọi truy vấn SQL) đang trở nên phức tạp.
Cách thanh lịch (nhiều hơn) của bạn là gì?