关于数组循环赋值后值被覆盖的问题
求助各位大神,最近遇到了一个问题,数组(储存的是对象实例)在循环赋值后值全部都变成了最后一个储存的值,在网上查阅后发现问题大概是储存的其实是对象的引用,所以最后全都指向了同一个数值,但实在苦于愚钝,没有想到解决办法,只好来求助于各位。因为是新注册,所以没有c币可以用来赠予,实在抱歉。代码如下:
/*Edge[] edges{
Vertexs[2]
data
}*/
while((str1=br1.readLine()) != null){
String temp[]=str1.split("——");
for(int k=0;k<nodes.length;k++){
//在node[]里遍历,包含temp[0]字符的赋值给Vertexs[0]
if(new String(nodes[k].getData().getBytes(),"utf-8").indexOf(new String(temp[0].getBytes(),"utf-8"))!=-1){
vertexs[0]=nodes[k];
break;
}
}
for(int k=0;k<nodes.length;k++){
//在node[]里遍历,包含temp[1]字符的赋值给Vertexs[1]
if(new String(nodes[k].getData().getBytes(),"utf-8").indexOf(new String(temp[1].getBytes(),"utf-8"))!=-1){
vertexs[1]=nodes[k];
break;
}
}
//创建过渡对象edge,赋值完后将edge赋值给edges[j]
Edge edge=graph.new Edge();
edge.setVertex(vertexs);
edge.setData(Integer.parseInt(temp[2]));
edges[j]=edge;
j++;
}
感谢各位!