В Dart он называется Spreading Operator
. Пожалуйста, посмотрите приведенный ниже код, если вы хотите объединить два массива.
List<int> _itemsOne = [1, 2, 3];
List<int> _itemsTwo = [4, 5, 6];
final _itemsAll = [..._itemsOne, ..._itemsTwo];
print(_itemsAll); // prints [1, 2, 3, 4, 5, 6]
Вы можете спросить, почему бы не использовать List
метод addAll
. Скажем, один из ваших List
равен null
, и если вы добавите еще List
, он будет Cra sh.
List<int> _itemsOne;
List<int> _itemsTwo = [4, 5, 6];
_itemsOne?.addAll(_itemsTwo);
Но в операторе распространения, если вы ожидаете массив null
, вы можете использовать перед ним нулевой безопасный оператор ?
.
List<int> _itemsOne;
List<int> _itemsTwo = [4, 5, 6];
final _itemsAll = [...?_itemsOne, ..._itemsTwo];
print(_itemsAll); // prints [4, 5, 6]