Java添加好友功能ID自增重复问题排查求助
问题排查结论
问题大概率出在anlegen新增方法里,而非setKontakt方法,常见触发原因有以下几种:
- 你没有在
anlegen方法里每次新增都调用Freunde类的构造方法生成新实例,而是反复修改同一个已创建的Freunde实例的属性,自然不会触发构造方法里的idCache++逻辑,ID就会停留在第一次创建该实例时的数值。 - 你在
anlegen方法里写了额外的id赋值逻辑,覆盖了构造方法生成的自增ID,比如调用setKontakt时传入了写死的或者错误的ID值,覆盖了构造生成的正确ID。 - 静态变量
idCache的初始化逻辑错误,比如你在anlegen方法里每次新增都重新给idCache赋值为固定值,导致后续自增都从重复的数值开始。
快速验证方法
你可以在Freunde类的构造方法里加一行打印日志,参考示例:
public Freunde() { this.id = idCache; System.out.println("构造方法触发,当前分配ID:" + idCache); idCache++; }
- 如果每次选择菜单选项2新增好友时,这行日志都没有打印,说明你确实没有新建实例,问题100%出在
anlegen方法的实例创建逻辑上。 - 如果日志有打印但输出的ID都是重复值,直接检索所有修改
idCache的代码,找到重复重置它的位置即可修复。 - 如果上述两点都无问题,再检查
setKontakt方法是否存在强制修改实例id属性的逻辑,这类情况出现概率极低。
内容的提问来源于stack exchange,提问作者user9630935
相关产品推荐
相关产品推荐

