Chỉ cần có được vị trí của nhân vật cuối cùng xảy ra.
for(String serverId : serverIds) {
sb.append(serverId);
sb.append(",");
}
sb.deleteCharAt(sb.lastIndexOf(","));
Vì lastIndexOf
sẽ thực hiện tìm kiếm ngược và bạn biết rằng nó sẽ tìm thấy ở lần thử đầu tiên, hiệu suất sẽ không phải là vấn đề ở đây.
BIÊN TẬP
Vì tôi tiếp tục nhận được câu trả lời của mình (cảm ơn mọi người), nên có giá trị về điều đó:
Trên Java 8 trở đi, việc sử dụng StringJoiner sẽ dễ đọc và rõ ràng hơn . Nó có một phương thức cho một dấu tách đơn giản và quá tải cho tiền tố và hậu tố.
Ví dụ lấy từ đây: ví dụ
Ví dụ sử dụng dấu phân cách đơn giản:
StringJoiner mystring = new StringJoiner("-");
// Joining multiple strings by using add() method
mystring.add("Logan");
mystring.add("Magneto");
mystring.add("Rogue");
mystring.add("Storm");
System.out.println(mystring);
Đầu ra:
Logan-Magneto-Rogue-Bão
Ví dụ với hậu tố và tiền tố:
StringJoiner mystring = new StringJoiner(",", "(", ")");
// Joining multiple strings by using add() method
mystring.add("Negan");
mystring.add("Rick");
mystring.add("Maggie");
mystring.add("Daryl");
System.out.println(mystring);
Đầu ra
(Negan, Rick, Maggie, Daryl)