將 String[] 或 List 轉為逗號分隔字串(如 "aa,bb,cc")是常見需求,各主流語言均提供內建方法,避免手動迴圈拼接。
String[] arr = {"aa", "bb", "cc"};
String joined = String.join(",", arr); // "aa,bb,cc"
// 或 Stream API
String joined = Arrays.stream(arr).collect(Collectors.joining(","));
string[] arr = { "aa", "bb", "cc" };
string joined = string.Join(",", arr); // "aa,bb,cc"
const arr = ["aa", "bb", "cc"];
const joined = arr.join(","); // "aa,bb,cc"
arr = ["aa", "bb", "cc"]
joined = ",".join(arr) # "aa,bb,cc"
C++20 引入 std::format 但無直接 join,常用 boost::algorithm::join 或手寫迴圈:
// Boost
#include <boost/algorithm/string/join.hpp>
std::vector vec = {"aa", "bb", "cc"};
std::string joined = boost::algorithm::join(vec, ",");
// 手寫
std::ostringstream oss;
for (size_t i = 0; i < vec.size(); ++i) {
if (i) oss << ',';
oss << vec[i];
}
std::string joined = oss.str();
for 迴圈拼接,易出現尾隨逗號、效能差(字串不可變語言)等問題。