Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart:toList()和casting as List有什么区别_List_Dart_Casting - Fatal编程技术网

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()
将其转换为新列表