关于数组循环赋值后值被覆盖的问题
求助各位大神,最近遇到了一个问题,数组(储存的是对象实例)在循环赋值后值全部都变成了最后一个储存的值,在网上查阅后发现问题大概是储存的其实是对象的引用,所以最后全都指向了同一个数值,但实在苦于愚钝,没有想到解决办法,只好来求助于各位。因为是新注册,所以没有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++;
}
感谢各位!
/*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++;
}
感谢各位!
...全文
相关推荐
php使用post数组的键值创建同名变量并赋值的方法
主要介绍了php使用post数组的键值创建同名变量并赋值的方法,涉及php操作数组的技巧,非常具有实用价值,需要的朋友可以参考下
python关于矩阵重复赋值覆盖问题的解决方法
主要介绍了python关于矩阵重复赋值覆盖问题的解决方法,涉及Python深拷贝与浅拷贝相关操作与使用技巧,需要的朋友可以参考下
PHP让数组中有相同值的组成新的数组实例
下面小编就为大家分享一篇PHP让数组中有相同值的组成新的数组实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
基于ES6作用域和解构赋值详解
下面小编就为大家带来一篇基于ES6作用域和解构赋值详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
浅析C语言编程中的数组越界问题
这篇文章主要介绍了浅析C语言编程中的数组越界问题,通过内存空间来讨论其导致的程序崩溃问题,需要的朋友可以参考下。



