我的意图是将一个类的5个实例放入列表中。
final List<Ball> _ballList =[Ball(),Ball(),Ball(),Ball(),Ball(),]
我希望得到类似的东西,而不是那个。
final List<Ball> _ballList =[Ball() * 5]
使用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]);
}
}
使用Dart 2.3或更高版本,您可以使用集合操作符for
:
final List<Ball> _ballList = [
for (var i = 0; i < 5; i += 1) Ball(),
];
Ball
实例的List
,我假设这是您想要的。在支持类似于您的[Ball() * 5]
示例的语言(例如 Python)中,您将获得包含相同实例的 5 个元素的列表。如果您想要相同的实例,则可以使用List.filled
构造函数:final List<Ball> _ballList = List<Ball>.filled(5, Ball());