美文网首页
Java数组浅拷贝的三种方式

Java数组浅拷贝的三种方式

作者: M_lear | 来源:发表于2022-01-31 15:33 被阅读0次

三种方式:clone方法、Arrays工具类、System.arraycopy方法
都支持基本类型和引用类型数组的拷贝。

clone

int[] copy = original.clone();

使用方便,缺点是只能拷贝到一个等长的数组中。

Arrays工具类

int[] copy = Arrays.copyOf(original, newLen);

使用方便,且可以指定新数组长度。常用于数组扩容。

Object[] copy = Arrays.copyOf(original, newLen, Object[].class);

对于引用类型数组,还可以指定新数组类型。

Object[] copy = Arrays.copyOfRange(original, from, to);

还提供了范围拷贝的方法,将original数组[from, to)范围内的元素拷贝到新数组。

System.arraycopy

System.arraycopy(original, 0, copy, 0, len);

复杂灵活,需要自己创建新数组。
Arrays.copyOf和Arrays.copyOfRange都是基于这个方法实现的。

相关文章

  • Java数组浅拷贝的三种方式

    三种方式:clone方法、Arrays工具类、System.arraycopy方法都支持基本类型和引用类型数组的拷...

  • Java 之浅拷贝、深拷贝,你到底知多少?

    在 Java 开发中,对象拷贝或者说对象克隆是常有的事,对象克隆最终都离不开直接赋值、浅拷贝、深拷贝 这三种方式,...

  • 关于几个拷贝的问题

    数组浅拷贝 数组深拷贝 复合数组深拷贝

  • 专题一:java复制

    java复制 将一个对象的引用复制给另外一个对象,一共有三种方式 ①直接复制 ②浅拷贝 ③深拷贝 一、直接复制 A...

  • 10.13-2 数组拷贝

    三种方式实现数组的拷贝调用如下函数 程序示例

  • JavaScript复制数组方式

    浅拷贝 这种数组拷贝方式就是浅拷贝,因为JavaScript存储对象都是存地址的,所以浅复制会导致 arr1 和 ...

  • 浅拷贝与深拷贝

    /*浅拷贝:拷贝地址*/ /*深拷贝:拷贝对象*/ 用Strong修饰不可变数组:浅拷贝 用Copy修饰不可变数组...

  • java 对象的拷贝

    拷贝:即复制 对象拷贝:即对象复制 java 对象拷贝分类:浅拷贝、深拷贝 java 对象的浅拷贝和深拷贝针对包含...

  • System源码,JDK1.8

    JAVA数组高效拷贝方式 源码图片 public static void main(String[] args) ...

  • Java基础 - 深拷贝和浅拷贝

    Java 的深拷贝和浅拷贝 什么是深拷贝、浅拷贝 (深克隆、浅克隆)? 在 Java 中,数据类型分为 基本数据类...

网友评论

      本文标题:Java数组浅拷贝的三种方式

      本文链接:https://www.haomeiwen.com/subject/drrhkrtx.html