#开始
今天遇到了一个很神奇的事情
也即是我在用ArrayList的add方法循环加入对象的时候 发现添加的元素全部都是一样的
定位错误定位了一个下午.... 错误位置就是哪一个位置 但是就是不知道为啥错了
while(rs.next()) { GroupInfo gi = new GroupInfo(rs.getString("GroupID"),rs.getString("date")); ce.GroupList.add(gi); ce.CQ.logInfo("connectDB","获取QQ群: "+ce.GroupList.get(i++).GroupID); }
百度了类似的问题 https://bbs.csdn.net/topics/340178073
上面链接里面的问题是因为所有引用全部指向同一个对象
但是我这里确实是用用了new开辟了内存啊
#解决
直到看到这个老哥的博客 https://blog.csdn.net/zouhaipeng/article/details/53160124
突然醒悟了
public class GroupInfo { public static String GroupID; public static String date; public GroupInfo(String fromGroup,String date2) { GroupID = fromGroup; date = date2; } }
看到那个static了么 害惨我了 QAQ
改成下面这样就好了
public class GroupInfo { public String GroupID; public String date; public GroupInfo(String fromGroup,String date2) { GroupID = fromGroup; date = date2; } }
#后记
这是我粗心的后果...对基础还是不够了解 不够扎实
希望能帮到大家