Typed 陣列

遺憾的是,ActionScript 3 沒有泛型概念,因此無法將型別化陣列定義為 Array<T>。然而,有一個特殊的類 Vector.<T> 以類似的方式工作,除了你必須在例項化向量時提供對具體類的引用。這意味著無法在 Vector.<T> 型別之上構建抽象(例如擴充套件它並新增新功能),這是一個巨大的缺點。

一個更簡單的方法是,你自動定義的每個類都有一個名為 Vector.<NameOfYourClass> 的伴隨類。

話雖如此,與傳統陣列相比,Vector.<T> 仍然有很大的優勢:

  • 使用 Vector.<T> 與陣列 1 時效能會有所提高。
  • 如果你嘗試將非 T 值插入集合,則會收到 compile-type TypeErrors。
  • IDE 為 Vector.<T> 例項內的物件提供有用的型別提示資訊。

建立 Vector.<T> 的示例:

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

1 使用原始型別(StringintuintNumber 等)時,向量實際上只能提供比陣列更顯著的效能改進。