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 dejoinș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.