Dart:toList()和casting as List有什么区别
出于好奇,经过一些研究,我没有发现与我相同的情况 使用方法Dart:toList()和casting as List有什么区别,list,dart,casting,List,Dart,Casting,出于好奇,经过一些研究,我没有发现与我相同的情况 使用方法.toList()和将转换为列表之间有什么区别?何时应分别使用 < P> >请考虑提供一个例子。 TutSist](/Cord>)是一种调用多类型对象的方法,将从数据流(或现有列表>代码>中收集所有数据,并创建包含数据的新列表对象。 as List是一种告诉给定对象(通常是动态)在运行时实际上是一个列表对象的方法。如果无法确定编译类型上的类型(例如,如果解析JSON),则使用此选项 示例 我们解码一些JSON并告诉Dart,我们可以通过
.toList()
和将转换为列表
之间有什么区别?何时应分别使用
< P> >请考虑提供一个例子。<代码> TutSist](/Cord>)是一种调用多类型对象的方法,将从数据流(或现有<代码>列表>代码>中收集所有数据,并创建包含数据的新列表对象。
as List
是一种告诉给定对象(通常是动态
)在运行时实际上是一个列表
对象的方法。如果无法确定编译类型上的类型(例如,如果解析JSON),则使用此选项
示例
我们解码一些JSON并告诉Dart,我们可以通过使用as List
来保证运行时的类型为List
import 'dart:convert';
void main() {
final list = json.decode('[1, 2, 3]') as List;
print(list); // [1, 2, 3]
final newList = list.cast<int>().map((e) => e * 2).toList();
print(newList); // [2, 4, 6]
}
导入'dart:convert';
void main(){
final list=json.decode(“[1,2,3]”)作为列表;
打印(列表);//[1,2,3]
final newList=list.cast().map((e)=>e*2.toList();
打印(新列表);//[2,4,6]
}
然后,我们使用.map
将每个值加倍,并希望使用toList()
将其转换为新列表