2 回复
在Flutter中,展开操作符(...)用于将一个集合(如List、Set)的元素展开到另一个集合中,简化代码并提高可读性。
基本用法
List<int> list1 = [1, 2, 3];
List<int> list2 = [4, 5, 6];
List<int> combined = [...list1, ...list2]; // [1, 2, 3, 4, 5, 6]
常见场景
- 合并多个列表
List<int> result = [...list1, ...list2, 7, 8];
- 条件展开(结合空值判断)
List<int>? nullableList;
List<int> finalList = [
1,
2,
...?nullableList, // 如果nullableList为null则忽略
3
];
- 在Widget树中使用
Column(
children: [
const Text('Header'),
...items.map((item) => Text(item)), // 动态生成Widget列表
const Text('Footer'),
],
)
注意事项
- 展开操作符会创建新集合,不影响原集合
- 适用于List、Set等实现了Iterable接口的类型
- 使用
...?可避免空指针异常
展开操作符是Dart语言特性,在Flutter开发中常用于构建动态UI或合并数据集合。

