Pozrite si Súvisiaca otázka k sieti .NET
Hľadám rýchly a jednoduchý spôsob, ako urobiť presný opak rozdelenia
tak, aby sa z ["a","b","c"]
stalo "a,b,c"
Iterácia poľom vyžaduje buď pridanie podmienky (ak toto nie je posledný prvok, pridajte oddeľovač), alebo použitie podreťazca na odstránenie posledného oddeľovača.
Som si istý, že existuje certifikovaný, efektívny spôsob, ako to urobiť (Apache Commons?).
Ako to radšej robíte vo svojich projektoch?
Apache Commons Lang skutočne má metódu StringUtils.join
, ktorá spojí polia `String`` so zadaným oddeľovačom.
Napríklad:
String[] s = new String[] {"a", "b", "c"};
String joined = StringUtils.join(s, ","); // "a,b,c"
Mám však podozrenie, že ako spomínate, v skutočnej implementácii uvedenej metódy musí byť nejaký druh podmieneného alebo podreťazcového spracovania.
Ak by som mal vykonať spojenie String
a nemal by som iné dôvody na použitie Commons Lang, pravdepodobne by som si vytvoril vlastnú, aby som znížil počet závislostí na externých knižniciach.
"Som si istý, že existuje certifikovaný, efektívny spôsob, ako to urobiť (Apache Commons?)"
Áno, zrejme je to's
StringUtils.join(array, separator)
je to v StringUtils: