java中数组的复制
生活随笔
收集整理的這篇文章主要介紹了
java中数组的复制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ?數組復制使我們在編程過程中經常要使用到的,在java中數組復制我們大概能夠分為兩種,一種是引用復制,還有一種就是深度復制(復制后兩個數組互不相干)。
以下我們就通過測試的方法來具體看看什么是引用復制和深度復制。
引用復制:
? ? 顧名思義就是其值是引用的,值得改變會隨著被引用的對象改變。
System.out.println("引用復制-----------------------------");int[] e = {1,2,3,4,56,7,8};int[] f = e;for(int i=0;i<f.length;i++){System.out.println(f[i]);}System.out.println("更改原始一維數組引用復制-----------------------------");for(int i=0;i<e.length;i++){e[i]=1;}for(int i=0;i<f.length;i++){System.out.println(f[i]);} 結果: 引用復制-----------------------------
1
2
3
4
56
7
8
更改原始一維數組引用復制-----------------------------
1
1
1
1
1
1
1
以下在展示下兩種深度復制的代碼:
有兩種方法:
一種是clone(),還有一種是System.arraycopy().
System.out.println("一維數組深度復制-----------------------------");int[] a = {1,2,3,4,56,7,8};int[] b = (int[])a.clone();for(int i=0;i<b.length;i++){System.out.println(b[i]);}System.out.println("更改原始一維數組深度復制-----------------------------");for(int i=0;i<a.length;i++){a[i]=1;}for(int i=0;i<b.length;i++){System.out.println(b[i]);} System.out.println("一維數組深度復制1-----------------------------");int[] c = {1,2,3,4,56,7,8};int[] d = new int[c.length];System.arraycopy(c,0, d, 0, c.length);for(int i=0;i<d.length;i++){System.out.println(d[i]);}System.out.println("更改原始一維數組深度復制1-----------------------------");for(int i=0;i<c.length;i++){c[i]=1;}for(int i=0;i<d.length;i++){System.out.println(d[i]);} 結果顯示:
一維數組深度復制-----------------------------
1
2
3
4
56
7
8
更改原始一維數組深度復制-----------------------------
1
2
3
4
56
7
8
一維數組深度復制1-----------------------------
1
2
3
4
56
7
8
更改原始一維數組深度復制-----------------------------
1
2
3
4
56
7
8
? ??
轉載于:https://www.cnblogs.com/cxchanpin/p/6807240.html
總結
以上是生活随笔為你收集整理的java中数组的复制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有没有好用的面膜安利?
- 下一篇: 第一段冲刺_个人总结_5.2