当前位置: 首页 > news >正文

Flex中ArrayCollection的复制(克隆)

  在Flex的开发过程中,常常会遇到复制ArrayCollection的情况。以前只是从网上找个方法拿来就用,也没有具体的搞清楚所以然来。今天有时间,研究了一下,总结如下:

        Flex中的复制同java一样,也分为深复制和浅复制。(如果您对java的深复制和浅复制理解不深的话,可以参考我前一篇文章:JAVA中浅复制与深复制)

        下面总结一下ArrayCollection的浅复制,共有4种方法:

        1、var newArray:ListCollectionView=new ListCollectionView(ListCollectionView(oldArray).list);

        2、var newArray:ArrayCollection=new ArrayCollection(oldArray.source);

        3、var newArray:ArrayCollection=new ArrayCollection(oldArray.source.slice());

        4、var newArray:ArrayCollection=new ArrayCollection(oldArray.toArray());

        以上方法中,第一种方法由于不是创建的独立的ArrayCollection对象,所以不推荐使用。第二、三、四种方法相似,可以参考使用。

        有的时候,我们也会用到深复制,方法如下:

        var newArray:ArrayCollection=ArrayCollection(this.clone(oldArray));

        this.clone()方法定义如下:

         function clone(source:Object):*
         {
                var myBA:ByteArray = new ByteArray();
                myBA.writeObject(source);
                myBA.position = 0;
                return(myBA.readObject());
         }

下面是我测试以上程序的Flex程序代码,大家可以参考:

相关文章:

  • mysql表的复制
  • 作用域与作用域链
  • 批量修改SQL数据库字段值
  • [C#7] 1.Tuples(元组)
  • flex z-order错误解决
  • css居中小结
  • Flex的DataGrid中时间如何格式化
  • 买卖股票最佳时机
  • parentApplication 和parentDocument 的区别
  • C#设计模式(11)——外观模式
  • flex大小写转化
  • Target runtime Apache Tomcat 5.5 is not defined
  • Android耗时操作
  • hibernate自定义主键
  • 2017.3.9 组合数学学习——组合、多重集排列
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【RocksDB】TransactionDB源码分析
  • 2017-09-12 前端日报
  • ES6简单总结(搭配简单的讲解和小案例)
  • EventListener原理
  • GraphQL学习过程应该是这样的
  • gulp 教程
  • Joomla 2.x, 3.x useful code cheatsheet
  • JS专题之继承
  • Linux各目录及每个目录的详细介绍
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Python中eval与exec的使用及区别
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 如何实现 font-size 的响应式
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 栈实现走出迷宫(C++)
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 06-01 点餐小程序前台界面搭建
  • ​水经微图Web1.5.0版即将上线
  • # 数据结构
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #{} 和 ${}区别
  • #控制台大学课堂点名问题_课堂随机点名
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (12)Linux 常见的三种进程状态
  • (ZT)一个美国文科博士的YardLife
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (算法)Game
  • (学习日记)2024.01.09
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)【Hibernate总结系列】使用举例