public class Test{
public static void main(String[]args){
char[] c={'w','b','c','d','e','f','g'};
char[] n=new char[7];
System.arraycopy(c,1,n,2,5);
System.out.println(n);
}
}为什么运行结果是:aabcdef
怎么回事?

解决方案 »

  1.   

    你从c的第1个元素拷贝到n的第二个元素,拷贝5个元素,所以n前两个元素是空的,应该是char的默认值。
      

  2.   

    补充一下,前两个元素应该是ascii的0,而不是a
      

  3.   

    我这里运行是正常的啊,public static void do0(){
    char[] c={'w','b','c','d','e','f','g'};
    System.out.println(c);
            char[] n=new char[7];
            System.arraycopy(c,1,n,2,5);
            System.out.println(n);
    }结果是:wbcdefg
    空空bcdef