नहीं, मानक द्वारा नहीं। यदि आइटम प्राइमेटिव प्रकारों में से एक नहीं हैं तो आप इंटरफेस, या सुपर क्लासेस का वेक्टर बना सकते हैं। उदाहरण के लिए, DisplayObjects का एक वेक्टर जिसमें मूवीक्लिप्स और स्प्राइट्स का मिश्रण होता है (जो दोनों प्रदर्शन ऑब्जेक्ट से प्राप्त होते हैं)।
उदाहरण के लिए:
var v:Vector.<DisplayObject> = new <DisplayObject>[
new MovieClip(),
new Sprite(),
new MovieClip()
];
trace(v[0].alpha); // outputs 1
trace(v[0].currentFrame); // error - not a DisplayObject property
इस मामले वैक्टर आइटम केवल गुण और स्वयं का तरीकों कि वेक्टर प्रकार से स्टेम का पर्दाफाश होगा। लेकिन यही कारण है कि आपको वैक्टर का उपयोग करना चाहिए, यह आपके द्वारा प्रबंधित किए जा रहे आइटम प्रकारों को सुनिश्चित करता है।
मुझे आपका विशिष्ट मामला या लक्ष्य नहीं पता है, लेकिन मुझे लगता है कि आपको एक वेक्टर के अंदर मिश्रित प्रकार की आवश्यकता क्यों है। जैसा कि आपने कहा है, आपका वैकल्पिक विकल्प एक रैपर वर्ग बनाना होगा। नीचे दिया गया उदाहरण पूर्ण से दूर है लेकिन एक प्रारंभिक बिंदु है।
class Wrapper {
public var _value:*; // should be private with get/set's
public function Wrapper(value:*) {
if(value is String || value is Number) {
_value = value;
}
}
}