我的意图是我想在列表中说出一个类的5个实例
final List<Ball> _ballList =[Ball(),Ball(),Ball(),Ball(),Ball(),]
相反,我想要类似的东西
final List<Ball> _ballList =[Ball() * 5]
答案 0 :(得分:4)
使用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]);
}
}
答案 1 :(得分:0)
在Dart 2.3或更高版本中,您可以使用collection-for
:
final List<Ball> _ballList = [
for (var i = 0; i < 5; i += 1) Ball(),
];
请注意,上面的代码将生成一个List
,其中包含Ball
的5个不同实例,我假设就是您想要的。在支持[Ball() * 5]
示例之类的结构的语言(例如Python)中,您将获得一个包含5个相同实例元素的列表。如果要使用相同的实例,则可以使用List.filled
constructor:
final List<Ball> _ballList = List<Ball>.filled(5, Ball());