java數組的複製

java數組的複製,由於以前代碼寫着寫着有點懵,因此總結一下記錄一下。java

主要有如下幾種方式:數組

  1. clone
  2. System.arraycopy 和 Arrays.copyOfRange
  3. Arrays.copyOf
  4. for循環

最後須要注意的是基本類型的拷貝是不影響原數組的值的,若是是引用類型,就不能在這用了,由於數組的拷貝是淺拷貝,對於基本類型能夠,對於引用類型是不適合的。spa

1.使用Object.clone()方法

輸出:.net

clone方法是從Object類繼承過來的,基本數據類型(String ,boolean,char,byte,short,float ,double,long)均可以直接使用clone方法進行克隆,其實我以爲有點神奇的。3d

沒想到String數組也是能夠的,聽說是由於String類型是由於其值不可變因此才能夠使用(不求甚解)。blog

2.System.arraycopy

輸出:繼承

這是java系統給咱們提供的一個native方法for循環

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

相關文章
相關標籤/搜索