代码编写情况: 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会不会加载多条相同记录?
按照自己的节奏前行
相关分类