代码编写情况: 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 nodeList=new ArrayList();
static{
init();
}
private static List 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会不会加载多条相同记录?