Typed 陣列
遺憾的是,ActionScript 3 沒有泛型概念,因此無法將型別化陣列定義為 Array<T>
。然而,有一個特殊的類 Vector.<T>
以類似的方式工作,除了你必須在例項化向量時提供對具體類的引用。這意味著無法在 Vector.<T>
型別之上構建抽象(例如擴充套件它並新增新功能),這是一個巨大的缺點。
一個更簡單的方法是,你自動定義的每個類都有一個名為 Vector.<NameOfYourClass>
的伴隨類。
話雖如此,與傳統陣列相比,Vector.<T>
仍然有很大的優勢:
- 使用
Vector.<T>
與陣列 1 時效能會有所提高。 - 如果你嘗試將非 T 值插入集合,則會收到 compile-type
TypeError
s。 - IDE 為
Vector.<T>
例項內的物件提供有用的型別提示資訊。
建立 Vector.<T>
的示例:
var strings:Vector.<String> = new Vector.<String>(); // or
var numbers:Vector.<Number> = new <Number>[];
1 使用原始型別(String
,int
,uint
,Number
等)時,向量實際上只能提供比陣列更顯著的效能改進。