关于深复制
来源:互联网 发布:linux内存管理详解 编辑:程序博客网 时间:2024/05/17 02:40
引用类型的复制好像都是浅复制,要深复制的话就得实现ICloneable这个接口,看了一下这个
http://blog.csdn.net/bugdemo/article/details/7918164和
http://www.cnblogs.com/luminji/archive/2011/02/02/1948826.html
感觉还是自己实现好了
于是就有了如下:
/// <summary>
/// 将一个int类型的数组进行深复制
/// </summary>
/// <param name="deep"></param>
/// <returns></returns>
public int[] DeepClone(int[] deep)
{
int[] clone = new int[deep.Length];
for (int i = 0; i < clone.Length; i++)
{
clone[i] = deep[i];
}
return clone;
}
/// <summary>
/// 将一个bool类型的数组进行深复制
/// </summary>
/// <param name="deep"></param>
/// <returns></returns>
public bool[] DeepClone(bool[] deep)
{
bool[] clone = new bool[deep.Length];
for (int i = 0; i < clone.Length; i++)
{
clone[i] = deep[i];
}
return clone;
}
/// <summary>
/// 将一个二维数组进行深复制
/// </summary>
/// <param name="deep"></param>
/// <returns></returns>
public int[][] DeepClone(int[][] deep)
{
int[][] clone = new int[deep.Length][];
for (int i = 0; i < clone.Length; i++)
{
clone[i] = new int[deep[i].Length];
for (int j = 0; j < clone[i].Length; j++)
{
clone[i][j] = deep[i][j];
}
}
return clone;
}
因为我目前只用到了这三种情况,所以就写这么多
- 关于深复制
- 关于深复制与浅复制
- C++关于浅复制和深复制
- Java:关于深复制与浅复制
- 关于深复制浅复制机制
- java关于深复制示例
- 关于浅复制和深复制的理解
- 关于复制构造函数
- 关于复制构造函数
- 关于字符串的复制
- 关于复制构造函数
- 关于复制对象
- 关于java对象复制
- 关于 数组的复制 ;
- 关于复制构造函数
- 关于复制构造函数
- 关于复制控制
- 关于python的复制
- 0xC0000005: 读取位置 0x00000000 时发生访问冲突
- 什么是CGI、FastCGI、php-cgi、php-fpm?
- 【剑指offer】二叉树的镜像
- 华为校招软件上机考试题目解析
- SQL优化
- 关于深复制
- java 视频转码
- 密码学概要--JAVA
- Centos部署Nginx+php+mysql
- POJ 3693 Maximum repetition substring 后缀数组与区间最值的完美结合
- tinsanmr博客测试
- 【JZOJ4678】钱仓
- 关于线程锁的相关
- 【转】PLSQL Developer 首选项配置