陣列不可以直接複製,如:
int
arr=
;int
arr2=arr;
//不可以
陣列複製方法一:
通過遍歷原陣列,遍歷的過程中,對原陣列進行取值,
然後在賦值給新的陣列。
注意:這種複製方法要求,目標陣列的長度,不能小於原陣列的長度,
否則複製的過程中會出現,arrayindexoutofbound***ception(陣列下標越界異常)
如果目標陣列的長度比原陣列的長度長,則複製完成後,複製出來的陣列中,
沒有複製過去的元素值,為預設值。
**如下:
//原陣列
int[
] array =
;//目標陣列
int[
] array1 =
newint
[array.length]
;//開始複製
for(
int i =
0; i < array.length; i++
)//對目標陣列進行遍歷,檢視複製結果
for(
int i =
0; i < array1.length; i++
)
陣列複製方法二
arrays.copyof(original, newlength);
coriginal:原陣列
newlength:新陣列的長度
注意:1. 新陣列的長度
如果寫的比原陣列的長度小,那就只複製到**
如果寫的比原陣列的長度長,沒複製的地方,會是預設值。
2. 這種複製陣列的方法,複製的時候,必須用乙個陣列在前面接收複製的結果。
**如下:
//原陣列
int[
] arr =
;//將原陣列複製到目標陣列中
int[
] arr1 = arrays.
copyof
(arr,arr.length)
;//遍歷目標陣列檢視結果
for(
int i =
0; i < arr1.length; i++
)
陣列複製方法三
system.arraycopy(src,srcpos,dest,destpos,length);
src:原陣列
srcpos:從原陣列的起始位置+
dest:目標陣列
destpos:目標陣列開始的的位置
length:要copy的陣列長度
注意:這種複製陣列的方法,複製的時候,不需要用陣列在前面做接收。
當這個語句執行完畢後,原陣列裡的元素,就已經按照要求,複製到了目標陣列中了。
**如下:
//原陣列
int[
] num =
;//目標陣列
int[
] num1 =
newint
[num.length]
;// 複製陣列解析: (原陣列,從原陣列的起始位置,目標陣列,目標陣列的起始位置,要複製的陣列長度)
// system.arraycopy(src, srcpos, dest, destpos, length);
//執行複製
system.
arraycopy
(num,
0, num1,
0, arr.length)
;//遍歷目標陣列檢視結果
for(
int i =
0; i < num1.length; i++
)
陣列的複製方法
1.system方法 語法 public static void arraycopy object src.int srcpot.object deat.int destpos.int length 引數 src 原陣列 srcpot 原陣列的起始位置 deat 目標陣列 destpos 目標陣列的...
陣列複製的幾種方法
一 for迴圈 二 使用system.arraycopy方法 system.arraycopy src,srcpos,dest,destpos,length 可以選定複製原陣列的部分內容,但新陣列需要先宣告並初始化 另外這種方法可以用來實現原陣列的擴容,即將原陣列的內容拷進去,但是比較麻煩 三 ar...
C 陣列複製方法詳解
c 陣列複製方法有哪些呢?在實際開發的過程中,我們需要掌握學習的有哪些呢?這裡向你介紹5種方法,那麼具體的實施方法是什麼呢?讓我們看看具體的內容。陣列間的複製,int pins int alias pins 這裡出了錯誤,也是錯誤的根源,以上 並沒有出錯,但是根本不是複製,因為pins和alias都...