• java ArrayList添加元素全部一样


    #开始

      今天遇到了一个很神奇的事情

      也即是我在用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;
    	}
    }
    

    #后记

      这是我粗心的后果...对基础还是不够了解 不够扎实

      希望能帮到大家

  • 相关阅读:
    初试kafka消息队列中间件一 (只适合初学者哈)
    3月22日 html(三)css样式表
    3月20日html(二) 图片热点,网页划分,表单
    3月19日 html(一) html基础内容
    3月18日 全部练习题(一)
    3月18日 全部练习题(二)
    3月15日
    3月13日 函数
    3月13日 冒泡排序
    3月12日 数组
  • 原文地址:https://www.cnblogs.com/cjdty/p/10092899.html
Copyright © 2020-2023  润新知