Flutter Dart列表<;e>;课堂提问
对于以下打印,两个打印结果相同。但是Flutter Dart列表<;e>;课堂提问,flutter,dart,Flutter,Dart,对于以下打印,两个打印结果相同。但是List test=[]之间有什么区别吗和列表test2=List() void main() { List<Dog> test = <Dog>[]; List<Dog> test2 =List<Dog>(); Dog dog = Dog(10); test.add(dog); print(test[0].age); test2.add(dog); print(test2[0]
List test=[]之间有什么区别吗代码>和列表test2=List()代码>
void main() {
List<Dog> test = <Dog>[];
List<Dog> test2 =List<Dog>();
Dog dog = Dog(10);
test.add(dog);
print(test[0].age);
test2.add(dog);
print(test2[0].age);
}
class Dog {
Dog({this.age});
int age;
}
void main(){
列表测试=[];
List test2=List();
狗=狗(10);
测试。添加(狗);
打印(测试[0]。年龄);
测试2.添加(狗);
打印(test2[0]。年龄);
}
班犬{
狗({this.age});
智力年龄;
}
两者之间没有区别。两者都创建了一个可扩展列表,如文档所示
由new list()或[]返回的默认可增长列表保留一个内部缓冲区,并在必要时增长该缓冲区。这保证了一系列添加操作将在摊销的固定时间内执行。直接设置长度可能需要与新长度成比例的时间,并且可能会更改内部容量,因此后续添加操作将需要立即增加缓冲区容量
与上面不同的是,如果您想创建一个不可增长的列表
因为你会用
List<Dog> fixedLengthList = new List(5);
列表固定长度列表=新列表(5);
在固定长度列表中,尝试使用可更改列表长度的操作时会发生错误。同样,更多的人使用[]
但是,指定局部变量的类型是一种不好的做法。在Dart中,建议避免类型注释初始化局部变量
。这不是一个好建议。