FLEX 深拷贝

        
import mx.utils.ObjectUtil;
            /**
         * 深层复制数据【不保留类型信息】
         */ 
        protected function Clone(source:Object):*
        {
            var myBA:ByteArray = new ByteArray();
            myBA.writeObject(source);
            myBA.position = 0;
            return(myBA.readObject());
        }
        /**
         * 深层复制数据【保留类型信息】
         */     
        public static function Copy(source:ArrayCollection):ArrayCollection
        {  
            if(source == null)  
                return null;  

            if(source.length == 0)  
                return new ArrayCollection();  

            var item:Object = source.getItemAt(0);  
            // 获取类型名
            var className:String = getQualifiedClassName(item);  
                            // 向运行库注册该类
            registerClassAlias(className, getDefinitionByName(className) as Class);  

            return ObjectUtil.copy(source) as ArrayCollection;  
        }

你可能感兴趣的:(Flex,深拷贝)