如何将一些对象数组复制到另一个对象数组
我有一个这样的课程
class sd{
String a="";
String b="";
String c="";
String d="";
int lenph=12;
boolean s=false;
}
和两个像这样的数组
sd[] stexp=new sd[12];
sd[] st=new sd[3];
我想将3个stexp复制到st我该怎么做?
我这样做但不起作用
sd[] stexp=new sd[12];
for(int c=0;c<stexp[0].lenph;c++){
stexp[c]=new sd();
}
sd[] st=new sd[3];
for(int c=0;c<3;c++){
st[c]=new sd();
}
for(int i=0;i<12;i++){
stexp[i].a="f"+i;
stexp[i].b="f"+i;
stexp[i].c="f"+i;
stexp[i].d="f"+i;
}
for(int i=0;i<3;i++){
st[i].a=stexp[i].a;
st[i].b=stexp[i].b;
st[i].c=stexp[i].c;
st[i].d=stexp[i].d;
}
b+=st[0].a+"\n";
b+=st[0].b+"\n";
b+=st[0].c+"\n";
b+=st[0].d+"\n";
sho.setText("b="+b);
感谢您的帮助。 :)
我改变了错误的代码。我想将一个对象数组复制到另一个对象数组,我想用
System.arraycopy(stexp, 0,st , 0, 1);
但是当我在eclipse中运行代码时它无法正常工作。
答案 0 :(得分:1)
check this example.use arraycopy
class ArrayCopyDemo {
public static void main(String[] args) {
char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e',
'i', 'n', 'a', 't', 'e', 'd' };
char[] copyTo = new char[7];
System.arraycopy(copyFrom, 2, copyTo, 0, 7);
System.out.println(new String(copyTo));
}
}
答案 1 :(得分:0)
我会仔细检查字段名称(如果这实际上是您尝试运行的代码)。你的类sd不包括你试图写/读的成员变量:deg,var,mult,power。它有a,b,c和d。
您可能在第一个for循环条件(“lengph”)中也有拼写错误。
最后,请记住,这只是复制那些3个stexp对象的成员变量的值。这与复制对象不同,这可能是你想要的。