public static void main(String [] args){
Object [] str1=new Object[5];
str1[0]=new String ("a");
str1[1]=new String ("b");
str1[2]=new String ("c");
str1[3]=new String ("d");
str1[4]=new String ("e");
Object [] str2=new Object[3];
str2[0]=new Integer(5);
str2[1]=new Integer(1);
str2[2]=new Integer(2);
Object [] str3=new Object[str1.length+str2.length];
System.arraycopy(str1, 2, str3, 2, 3);
System.arraycopy(str2,0,str3,0,2);
System.out.println(str3);
}
最后的输出:[Ljava.lang.Object;@497934
为什么无法拷贝到str3中呢?
------解决方案--------------------
你的数组赋值方法是正确的,错误的是输出方法,不能企图直接用System.out.println()输出一个数组的所有成员
Object [] str1=new Object[5];
str1[0]=new String ("a");
str1[1]=new String ("b");
str1[2]=new String ("c");
str1[3]=new String ("d");
str1[4]=new String ("e");
Object [] str2=new Object[3];
str2[0]=new Integer(5);
str2[1]=new Integer(1);
str2[2]=new Integer(2);
Object [] str3=new Object[str1.length+str2.length];
System.arraycopy(str1, 2, str3, 2, 3);
System.arraycopy(str2,0,str3,0,2);
for(Object i: str3) //这是JAVA里新的for语句
System.out.println(i); //把输出换成这样就可以了
------解决方案--------------------
你想输出的话:
- Java code
for(int i=0;i<str3.length;++i) System.out.println(str3[i]); }
------解决方案--------------------
不是无法拷贝。。。对象的输出就这样
换一个输出方式呗
System.out.println(Arrays.toString(str3));