Níže uvedený kód předpokládá, že máme definováno následující pole: String[] arr = {"a", "b", "c", "d"}
.
Použití StringBuilderu.
StringBuilder sb = new StringBuilder(); for (int i = 0; i < arr.length; i++) { sb.append(arr[i]); if (i < arr.length - 1) { sb.append(", "); } } System.out.println(sb.toString());
Variace na předchozí způsob.
StringBuilder sbb = new StringBuilder(); for (int i = 0; i < arr.length; i++) { if (i > 0) { sbb.append(", "); } sbb.append(arr[i]); } System.out.println(sbb.toString());
Použití StringUtils (vnitřně používá StringBuilder).
String result = StringUtils.join(arr, ", "); System.out.println(result);
Do projektu je třeba přidat závislost.
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency>
A trochu divoký způsob pomocí třídy Arrays a regulárních výrazů.
String string = Arrays.toString(arr); String regex = Pattern.quote("[") + "|" + Pattern.quote("]"); String string2 = string.replaceAll(regex, ""); System.out.println(string2);
Převede pole na řetězec (ten obsahuje [] a jednotlivé stringy oddělené čárkou). Následně provede odstranění hranatých závorek. Pattern.quote()
provádí správně odescapování daného znaku či sekvence znaků.