0 apache-flex flash casting flex3 actionscript-3
关于flex中的类型转换,我有一个非常简单的问题.
这两次转换有什么区别.
1)var arrCol:ArrayCollection = new ArrayCollection(event.result.dataset.table);
2)var arrCol:ArrayCollection = event.result.dataset.table as ArrayCollection;
我已经看到第二次转换比第一次转换效果更好(次数更多).
我认为"转换"一词并不正确.在您的代码片段中,存在实例化和强制转换.
案例1)正在实例化(创建新的类实例).要确定它,请查看new
关键字.参数是Array
根据ArrayCollection
构造函数文档的实例.
案例2)是铸造.在你的情况下event.result.dataset.table
应该是一个ArrayCollection
.否则价值arrCol
将是null
.另一种铸造方式是:
var arrCol:ArrayCollection = ArrayCollection (event.result.dataset.table);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果event.result.dataset.table
不是ArrayCollection
,将有运行时异常.因为Array
和ArrayCollection
不兼容的类型而不能将它们互相投射.
归档时间: |
|
查看次数: |
239 次 |
最近记录: |