双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

关于数组循环赋值后值被覆盖的问题

Unlikeha Unlikeha 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
求助各位大神,最近遇到了一个问题,数组(储存的是对象实例)在循环赋值后值全部都变成了最后一个储存的值,在网上查阅后发现问题大概是储存的其实是对象的引用,所以最后全都指向了同一个数值,但实在苦于愚钝,没有想到解决办法,只好来求助于各位。因为是新注册,所以没有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++;
}
感谢各位!
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
Unlikeha
Java 51,407 成员 86,133 内容