Java数组的三种复制

来源:互联网 发布:linux vi 输入模式删除 编辑:程序博客网 时间:2024/05/22 10:49

1.地址引用

int a[10] = new int;int b[10] = new int;b = a;

这个是直接把b数组的地址空间指向a数组的地址空间,即为地址引用。

  • 优点:快速
  • 缺点:更改一个数组的值即把两个数组的值都更改了,因为两个数组指向了同一个地址空间

2.类似于for循环的一个个数组元素拷贝

用System类中的静态方法arraycopy

System.arraycopy(sourceArray,0,targetArray,0,sourceArray.length);
  • sourceArray:源数组
  • 第一个0:源数组中起始位置
  • targetArray:目标数组
  • 第二个0:目标数组中起始位置
  • sourceArray.length:复制元素的个数

3.用内存块复制的方法实现

用clone方法复制数组

  • clone方法是对象类Object中的方法,可以创建一个有单独内存空间的对象
  • 不是所有的对象都可以克隆。要成为一个可克隆的对象,它的类必须实现java.lang.Cloneable接口
  • clone方法的返回值是Object类型,要使用强制类型转换为适当类型
targetArray = (int[])sourceArray.clone();
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 刚收的京东快递质量有问题怎么办 拼多多买家接受信息没有声音怎么办 苹果6s外放声音有杂音怎么办 华为手机不小心把视频删了怎么办 电脑做完系统不显示声卡了怎么办 苹果手机自带浏览器看视频卡怎么办 pr剪辑的时候视频太卡怎么办 小米手机忘记登录账号密码了怎么办 石膏线条软模硅胶模具气泡多怎么办 京东白条开通失败怎么办金牌用户 买家说我运费险没赔要投诉我怎么办 包邮有运费险的东西想退货怎么办 高锰酸钾沾到龟头上形成黑点怎么办 淘宝发货包邮买家退款运费怎么办 京东实名认证的手机号不用了怎么办 淘宝退货在自提柜 卖家不取怎么办 如果买家退货那卖家送的东西怎么办 陆金所注册手机号被占用要怎么办 重新登录而忘记密码和验证码怎么办 手机清理垃圾清掉的照片怎么办 收件人名字写错了拿不到快递怎么办 档案回原籍收件人写错了怎么办 寄申通快递收件人电话写错了怎么办 第三方支付倒闭了用户的钱怎么办啊 京东配送日期内货没送到家怎么办 拼多多拼单不成功优惠券退吗怎么办 退货退错了不发回来怎么办 商家总是不发退货地址过来怎么办 美团外卖下单后电话没改怎么办 从日本邮寄东西到中国被扣怎么办 淘宝拒收卖家收到货不退款怎么办 拒收的快递丢了卖家拒绝退款怎么办 京东买了东西超过七天想退货怎么办 微信买东西支付宝付款被骗怎么办 京东购物己付款卖家没发货怎么办 天猫先行退款卖家拒收怎么办 京东金条提前还款借不了怎么办 网银密码输入六次错误怎么办 迷失在时间和空间的交界处该怎么办 用卫生巾过后瘙痒起疹子了怎么办 装修公司倒闭了装修保修卡怎么办