为了账号安全,请及时绑定邮箱和手机立即绑定

arraylist静态变量,并发的时候会出现数据问题吗

arraylist静态变量,并发的时候会出现数据问题吗

慕粉3901988 2016-12-28 10:56:16
代码编写情况: 1:在自动加载的service里 调用Integer id = NodesUtils.getParentNodes(cityid);(我怀疑这句话取出值的时候id 会取错值)2:工具类的静态方法如下,nodeList 为全局变量 public static Integer getParentNodes(Integer childid) {        if(nodeList == null && childid == null) return null;        Node parentNode = new Node();        for(Node mu: nodeList){              //遍历出父id等于参数的id,add进子节点集合           //Integer比较特别,不能直接拿两个Integer比较,相同值却有可能结果为false            if(mu.getId().intValue() == childid.intValue()){               parentNode = mu;             break;            }          }          return parentNode!=null&&parentNode.getParentId()!=null?parentNode.getParentId():0;    } 我: 3:此为工具类所有代码public  class NodesUtils { private  static List<Node>  nodeList=new ArrayList<Node>(); static{ init(); } private static List<Node> init(){ Node node1 = new Node( 100,"北京",10 ); Node node2 = new Node( 2600,"天津",10 ); Node node3 = new Node( 909,"唐山",10 ); nodeList.add(node1); nodeList.add(node2); nodeList.add(node3); } } 我怀疑1处的代码会不会在并发的时候 出现错误,然后第二个疑问是比如a,b,c同时登陆,这个list会不会加载多条相同记录?
查看完整描述

1 回答

?
按照自己的节奏前行

TA贡献90条经验 获得超70个赞

我不喜欢看乱糟糟的代码

查看完整回答
1 反对 回复 2017-01-25
  • 1 回答
  • 0 关注
  • 1526 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信