如何进行object以及Array(数组)的深复制
2012-04-09 17:31
281 查看
深复制是克隆一个数组或者object很有效的方法,深复制以后的对象中的新元素只是原始数据元素的备份,并无内在联系。两个对象的状态是完全一致的,但是元素存放的是不同的引用,指向不同的对象。
解决方案:
把你想要深复制的的数组或者object写进字节数组中,然后重置position的位置(把position置为0),最后重新从字节数组中读取出来。
详细解释:
这里是一个简单的工具类,封装了一个通过深复制实现的clone方法:
package
{
import flash.utils.ByteArray;
public class DeepCopyUtil
{
public static function clone (source : Object) : *
{
var array : ByteArray = new ByteArray ();
array.writeObject (source);
array.position = 0;
return array.readObject ();
}
}
}
解决方案:
把你想要深复制的的数组或者object写进字节数组中,然后重置position的位置(把position置为0),最后重新从字节数组中读取出来。
详细解释:
这里是一个简单的工具类,封装了一个通过深复制实现的clone方法:
package
{
import flash.utils.ByteArray;
public class DeepCopyUtil
{
public static function clone (source : Object) : *
{
var array : ByteArray = new ByteArray ();
array.writeObject (source);
array.position = 0;
return array.readObject ();
}
}
}
相关文章推荐
- laravel查询得到的数据(为对象object)无法进行数组循环遍历,而且不能用数组方式访问和查看的原因以及解决方法
- 实现JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
- JSON对象中的JSONObject和JSONArray以及与Map、String、数组的转化
- 一起谈.NET技术,如何将XML与OBJECT进行相互转换(泛型以及通用方法)
- System.arraycopy实现数组之间的复制以及Arrays类的copyOf()实现数组复制
- javascript,对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
- 如果一个Object对象可能是数组那么如何对其进行迭代
- ActionScript2经验分享-对象(Object)和数组(Array)的复制
- 实现一个函数clone,使JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
- 实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
- 如果一个Object对象可能是集合或者数组那么如何对其进行迭代
- JSON对象中的JSONObject和JSONArray以及与Map、String、数组的转化
- 面试题---实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
- C#中如何对数组进行深复制
- 实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
- 如何将XML与OBJECT进行相互转换(泛型以及通用方法)
- 63.如何对单链表进行快排?和数组快排的分析与对比[quicksort of array and linked list]
- 如何将n维数组按照其中某个key的值进行升维?
- 如何进行表的复制
- 对数组进行复制的方法