1 System有一个静态的函数用于基础数组的复制功能。System.arraycopy(源数组,源数组的起始下标,目的数组,目的数据的起始下标,复制的长度)
如:public void test1(){
int[] aaa=new int[]{1,2,3,4,5,6,7,8,89};
int[] bbb=new int[aaa.length];//不能为null
System.arraycopy(aaa,0,bbb,0,aaa.length);//只能用在简单的原始类型:如int数组等。不能用于list数组(会报错)。
bbb[0]=11111;
System.out.println();
for(int i=0;i<aaa.length;i++){
System.out.print(aaa[i]+",");
}
System.out.println();
for(int i=0;i<bbb.length;i++){
System.out.print(bbb[i]+",");
}
}
2 想要使用System.arraycopy函数。所定义的数组必须能用length的那种基础数组才行,而用list的则不行。
如:int数组、String数组等。这些数据都用length()来得到数组长度的才行。
3 用System.arraycopy函数,用于基础的数组是值复制,而如果用于对象数组而是引用复制,切记只用于基础数据即可(int数组,String数组)。
如:public void test3(){
String[] str_s=new String[]{"2","3","4"};
String[] str_s1=new String[str_s.length];
System.arraycopy(str_s,0,str_s1,0,str_s.length);
str_s1[0]="11111";
//System.out.println(str_s1);
System.out.println();
for(int i=0;i<str_s1.length;i++){
System.out.print(str_s1[i]+",");
}
System.out.println();
for(int i=0;i<str_s.length;i++){
System.out.print(str_s[i]+",");
}
}
注意:System.arraycopy(原数组,原数组起始下标,目的数组,目的数组起始下标,复制的长度)用于基础数组,基础数组就是用length()来得到长度的那种。如int数组,String数组等。
如:public void test1(){
int[] aaa=new int[]{1,2,3,4,5,6,7,8,89};
int[] bbb=new int[aaa.length];//不能为null
System.arraycopy(aaa,0,bbb,0,aaa.length);//只能用在简单的原始类型:如int数组等。不能用于list数组(会报错)。
bbb[0]=11111;
System.out.println();
for(int i=0;i<aaa.length;i++){
System.out.print(aaa[i]+",");
}
System.out.println();
for(int i=0;i<bbb.length;i++){
System.out.print(bbb[i]+",");
}
}
2 想要使用System.arraycopy函数。所定义的数组必须能用length的那种基础数组才行,而用list的则不行。
如:int数组、String数组等。这些数据都用length()来得到数组长度的才行。
3 用System.arraycopy函数,用于基础的数组是值复制,而如果用于对象数组而是引用复制,切记只用于基础数据即可(int数组,String数组)。
如:public void test3(){
String[] str_s=new String[]{"2","3","4"};
String[] str_s1=new String[str_s.length];
System.arraycopy(str_s,0,str_s1,0,str_s.length);
str_s1[0]="11111";
//System.out.println(str_s1);
System.out.println();
for(int i=0;i<str_s1.length;i++){
System.out.print(str_s1[i]+",");
}
System.out.println();
for(int i=0;i<str_s.length;i++){
System.out.print(str_s[i]+",");
}
}
注意:System.arraycopy(原数组,原数组起始下标,目的数组,目的数组起始下标,复制的长度)用于基础数组,基础数组就是用length()来得到长度的那种。如int数组,String数组等。