Flash Flex数据类型转换

Flash Flex数据类型转换,flash,apache-flex,actionscript-3,flex3,casting,Flash,Apache Flex,Actionscript 3,Flex3,Casting,关于flex中的类型转换,我有一个非常简单的问题 这两种转换的区别是什么 1) var arrCol:ArrayCollection=新的ArrayCollection(event.result.dataset.table) 2) var arrCol:ArrayCollection=event.result.dataset.table作为ArrayCollection 我已经看到第二次转换比第一次更好(次数更多)。我认为术语“转换”是不正确的。在您的代码片段中,存在实例化和强制转换 案例1)正

关于flex中的类型转换,我有一个非常简单的问题

这两种转换的区别是什么

1) var arrCol:ArrayCollection=新的ArrayCollection(event.result.dataset.table)

2) var arrCol:ArrayCollection=event.result.dataset.table作为ArrayCollection

我已经看到第二次转换比第一次更好(次数更多)。

我认为术语“转换”是不正确的。在您的代码片段中,存在实例化和强制转换

案例1)正在实例化(创建类的新实例)。要确定它,请查看
new
关键字。参数为
Array
instance

案例2)正在铸造。在您的例子中,
event.result.dataset.table
应该是一个
ArrayCollection
。否则,
arrCol
的值将为
null
。另一种铸造形式是:

var arrCol:ArrayCollection = ArrayCollection (event.result.dataset.table);
在这种情况下,如果
event.result.dataset.table
不是
ArrayCollection
将出现运行时异常。因为
Array
ArrayCollection
是不兼容的类型,不能相互强制转换。

我认为术语“转换”是不正确的。在您的代码片段中,存在实例化和强制转换

案例1)正在实例化(创建类的新实例)。要确定它,请查看
new
关键字。参数为
Array
instance

案例2)正在铸造。在您的例子中,
event.result.dataset.table
应该是一个
ArrayCollection
。否则,
arrCol
的值将为
null
。另一种铸造形式是:

var arrCol:ArrayCollection = ArrayCollection (event.result.dataset.table);

在这种情况下,如果
event.result.dataset.table
不是
ArrayCollection
将出现运行时异常。因为
Array
ArrayCollection
是不兼容的类型,不能将它们强制转换为彼此。

event.result.dataset.table as ArrayCollection
可读性更强,写入速度更快。但我记得在某些情况下,当对象以这种方式转换时,flex抛出了一个错误。

event.result.dataset.table as ArrayCollection可读性更强,编写速度更快。但我记得在某些情况下,当对象以这种方式转换时,flex抛出了一个错误