我的意图是我想在列表中列出一个类的 5 个实例
final List<Ball> _ballList =[Ball(),Ball(),Ball(),Ball(),Ball(),]
Run Code Online (Sandbox Code Playgroud)
相反,我想要类似的东西
final List<Ball> _ballList =[Ball() * 5]
Run Code Online (Sandbox Code Playgroud)
使用generate()应该有帮助
例如,
class Ball{
String color;
}
void main() {
List<Ball> ballList = new List<Ball>.generate(5,(i)=>Ball());
for(int i=0;i<ballList.length;i++) {
print(ballList[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
对于 Dart 2.3 或更高版本,您可以使用collection-for:
final List<Ball> _ballList = [
for (var i = 0; i < 5; i += 1) Ball(),
];
Run Code Online (Sandbox Code Playgroud)
请注意,上面的代码将生成List5 个不同实例的Ball,我假设这就是您想要的。在支持像您的示例这样的构造的语言(例如Python)中,您会得到一个包含同一实例[Ball() * 5]的5个元素的列表。如果想要相同的实例,那么您可以使用构造函数:List.filled
final List<Ball> _ballList = List<Ball>.filled(5, Ball());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1867 次 |
| 最近记录: |