java 增强for循环的疑问


private String  number (){
 String a =null;
a=mapper.selectMax();
int i = Integer.parseInt(a.replace("B",""));
i++;
String b="B"+i;
return b;
}

public  viod  update(List<String> a){
for(String c:a){
c=number();
}


}

为什么不是线程安全的呀,我也没有开多线程,增强for应该是安全的呀?不是执行一条结束在执行下面的吗?

线程不安全跟你开不开多线程没有关系,不开多线程它也是线程不安全
就好比你家门没有安锁,跟你家周围有没有小偷没有关系
你家周围没有小偷你家就不会被偷,但是不代表你家的门是防盗的
你纠结安全不安全到底要干什么,你这代码执行出什么问题了?

哪里提示线程不安全?