Chúng tôi phải xây dựng Chuỗi mọi lúc cho đầu ra nhật ký, v.v. Qua các phiên bản JDK, chúng tôi đã biết khi nào nên sử dụng StringBuffer
(nhiều phụ lục, an toàn luồng) và StringBuilder
(nhiều phụ lục, không an toàn luồng).
Lời khuyên về việc sử dụng là String.format()
gì? Là nó hiệu quả, hay chúng ta buộc phải gắn bó với việc ghép một lớp trong đó hiệu suất là quan trọng?
ví dụ như kiểu cũ xấu xí,
String s = "What do you get if you multiply " + varSix + " by " + varNine + "?";
so với phong cách mới gọn gàng (String.format, có thể chậm hơn),
String s = String.format("What do you get if you multiply %d by %d?", varSix, varNine);
Lưu ý: trường hợp sử dụng cụ thể của tôi là hàng trăm chuỗi nhật ký 'một lớp' trong toàn bộ mã của tôi. Chúng không liên quan đến một vòng lặp, vì vậy StringBuilder
quá nặng. Tôi String.format()
đặc biệt quan tâm .