ActionScript 3 类型数组

示例

不幸的是,ActionScript 3没有泛型的概念,因此无法将类型化数组定义为Array<T>。但是,有一个特殊的类Vector.<T>以类似的方式工作,除了在实例化向量时必须提供对具体类的引用。这意味着无法在Vector.<T>类型之上构建抽象(例如,对其进行扩展并添加新功能),这是一个巨大的缺点。

一种更简单的查看方法是,好像您定义的每个类都有一个名为的伴随类Vector.<NameOfYourClass>。

话虽如此,Vector.<T>与常规数组相比,该类型仍具有巨大优势:

  • 与Vector.<T>vs数组1一起使用时,性能会提高。

  • TypeError如果尝试将非T值插入到集合中,则会收到编译类型。

  • IDE为Vector.<T>实例内部的对象提供有用的类型提示信息。

创建示例Vector.<T>:

var strings:Vector.<String> = new Vector.<String>(); // 要么
var numbers:Vector.<Number> = new <Number>[];


1向量与原始类型(工作时实际上只提供对阵列显着的性能改进String,int,uint,Number,等等)。