1. 程式人生 > >java陣列的複製

java陣列的複製

開發十年,就只剩下這套架構體系了! >>>   

java陣列的複製,因為之前程式碼寫著寫著有點懵,所以總結一下記錄一下。

主要有以下幾種方式:

  1. clone
  2. System.arraycopy 和 Arrays.copyOfRange
  3. Arrays.copyOf
  4. for迴圈

最後需要注意的是基本型別的拷貝是不影響原陣列的值的,如果是引用型別,就不能在這用了,因為陣列的拷貝是淺拷貝,對於基本型別可以,對於引用型別是不適合的。

1.使用Object.clone()方法

輸出:

clone方法是從Object類繼承過來的,基本資料型別(String ,boolean,char,byte,short,float ,double,long)都可以直接使用clone方法進行克隆,其實我覺得有點神奇的。

沒想到String陣列也是可以的,據說是因為String型別是因為其值不可變所以才可以使用(不求甚解)。

2.System.arraycopy

輸出:

這是java系統給我們提供的一個native方法

Arrays.copyOfRange

輸出:

這裡底層的實現也是System.arraycopy

3.Arrays.copyOf

輸出:

這裡看到底層實現還是System.arraycopy

4.for迴圈

這個方法也是很萬能的,就是寫起來效率比較低!

參考:

https://blog.csdn.net/abyjun/article/details/46444921

https://blog.csdn.net/weixin_36210698/article/details/70876912