Java引用传递问题

if (planSuccessServices.contains(value)) {
   service.put("choose", "yes");
}
successServices.add(service);

if (planFailServices.contains(value)) {
   service.put("choose", "yes");
}
failServices.add(service);


此时将会导致,两次add的service其实是同一个引用,所以后一个的状态修改会影响到前一个

解决办法:

if (planSuccessServices.contains(value)) {
   service.put("successchoose", "yes");
}
successServices.add(service);

if (planFailServices.contains(value)) {
   service.put("failchoose", "yes");
}
failServices.add(service);

 

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务