1.迴圈遍歷
public class test ;
object objects = test.demo1(str);
for (object obj:objects) }
/*** 陣列遍歷賦值
* @param obj 要拷貝的陣列
* @return 返回拷貝後的新陣列
*/public static object demo1(object obj)
3.system.arraycopy(src,srcpos,dest,despos,length)
* @param src the source array.* @param srcpos starting position in the source array.
* @param dest the destination array.
* @param destpos starting position in the destination data.
* @param length the number of array elements to be copied.
public static object demo3(object obj)
4.clone
public static object demo4(object obj)
clone是淺拷貝
只是複製引用
例:
public static void test();
string clone = str.clone();
str[0]="test";
system.out.println(clone[0]);
stringbuilder sb1 = new stringbuilder("abc");
stringbuilder sb2 = new stringbuilder("abc");
stringbuilder sb3 = new stringbuilder("abc");
stringbuilder sb4 = new stringbuilder("abc");
stringbuilder sb = ;
stringbuilder clone1 = sb.clone();
system.out.println(clone1[0]);
}
結果:
string 是不可改變的,重新賦值時,會在常量池中新建立乙個字串。
clone只是複製了引用,只 是賦值了str陣列中的引用,當str[0]的引用改變,clone的引用不變,結果還是「abc」,sb陣列證明了這一點。
陣列的拷貝
我們在平時的陣列想等操作時候,會想到想數一樣的讓他們直接兩個陣列相等,就像a b 陣列,我們會想到直接a b,但這樣在c語言中是不可行的,在c語言中,陣列拷貝要用 memcpy 包含在標頭檔案 include中。下面我們先來說整數陣列的複製,直接上 include includeusing name...
陣列的拷貝
1 t指向s之後,修改了t 0 的值,所以bob就變成了tom,列印出來的是tom。注意 1 這個不是拷貝,因為兩者指向的是同乙個物件,拷貝是賦值乙份新的出來,在新的物件上進行的修改與原物件無關。2 陣列的拷貝 1 system中有提供arraycopy方法,從from陣列到to陣列 fromind...
陣列拷貝(深拷貝 淺拷貝)
底層都是使用system.arraycopy object src,int srcpos,object dest,int destpos,int length 方法完成陣列元素拷貝任務的 方法說明 如果newlength original.length,那麼會將原陣列中前newlength個元素拷貝...