Iterable.join în Dart

Lipește elementele într-un singur text, cu un separator între ele.

Sintaxă
String join([String separator = ""])

Ce face Iterable.join

join transformă fiecare element în text cu toString() și le lipește, punând separatorul între ele (nu și la capete). Fără separator, elementele sunt lipite direct.

Pe o colecție goală returnează textul gol. Este operația inversă lui String.split.

Parametri

Parametru Descriere
separator Textul pus între elemente. Implicit este gol.

Ce returnează

Un String.

Exemple

Exemplul 1: Liste afișate frumos

void main() {
  final orase = ['Iași', 'Cluj', 'Brașov'];
  print(orase.join(', '));
  print(orase.join(' -> '));
  print([2, 0, 2, 6].join());
  print('gol: "${<String>[].join(', ')}"');
}

Rezultat

Iași, Cluj, Brașov
Iași -> Cluj -> Brașov
2026
gol: ""

Exemplul 2: Un rând CSV

void main() {
  final rand = ['Ana Pop', 'Iași', 9.5, true];
  print(rand.join(';'));
  final tabel = [
    ['Nume', 'Nota'],
    ['Ana', '10'],
    ['Mihai', '8'],
  ];
  print(tabel.map((r) => r.join(',')).join('\n'));
}

Rezultat

Ana Pop;Iași;9.5;true
Nume,Nota
Ana,10
Mihai,8

Greșeli frecvente

  • Folosești toString() pe listă în loc de join și obții paranteze drepte în text: [Iași, Cluj].

Comenzi înrudite

  • Iterable.map: Transformă fiecare element cu o funcție și returnează un iterable nou, leneș, cu rezultatele.
  • Iterable.toList: toList copiază elementele într-o listă nouă; toSet le copiază într-un set nou, fără duplicate.
  • Stream.join: Lipește toate valorile stream-ului într-un singur text, cu un separator opțional între ele.