2011-11-07 199 views
3

好像在AS3,我可以在理論上,可以只包含某些數據類型delare數組:陣列VS矢量

private var my_array:Array.<String>; 

產生這樣的錯誤:
1199:用非參數化類型

類型參數

然而

private var my_vector:Vector.<String>; 

就好了。

有沒有辦法使這個工作與數組?

+0

是什麼,你要完成什麼呢? –

+0

我想聲明數組,同時指定它們是什麼類型。像一串字符串,一個數組等等...... – Frank

+1

這就是'Vector'的用途。強類型數組。 –

回答

4
[ArrayElementType("String")] 
public var newStringProperty:Array; 

[ArrayElementType("Number")] 
public var newNumberProperty:Array; 

http://livedocs.adobe.com/flex/3/html/help.html?content=metadata_3.html
不幸的是,這種陣列不提供訪問像載體的元素類型的方法做:

var strings:Vector.<String> = new Vector.<String>(); 
strings.push('hello world'); 
trace(strings[0].charAt(2)); 
+0

該元數據標籤僅適用於MXML數組定義。這實際上是編譯時間約束,而不是運行時執行。如果在課堂中使用,則不會做任何事情。 –

+0

它在純粹的as3項目中什麼都不做,它在.as類中爲我工作,擴展了'UIComponent' – www0z0k

4

不幸的是,沒有。

「通用」語法是一次性的,僅給出Vector。這讓我很難過。如果可以的話,我會在各地使用泛型。

這裏是陣列來構造更discussion on the issue.

0

你可以只傳遞一個元素。如果你需要參數化的「數組」,使用矢量。

2

目前數組完全不接受類型聲明。