• ArrayList中存储数组时需要注意到的问题


    因为数组的地址是不会发生变化的,每次在数组中的内容改变后,将数组添加到ArrayList中时,会导致ArrayList中的每个内容都是最后添加进去的数据。案例如下所示:

    Object []objs = new Object[count];
    while(rs.next()){
                    for(int i = 0; i < count; i++){
                        objs[i] = rs.getString(i+1);
                    }
                    al.add(objs);
                }

    假设rs中有20个数据,那么al中将会拥有20个rs最后的数据,解决的办法是:

    while(rs.next()){
    Object []objs = new Object[count];
                    for(int i = 0; i < count; i++){
                        objs[i] = rs.getString(i+1);
                    }
                    al.add(objs);
                }

    这样每次重新创建一个数组,它们的地址都是不一样的,所以添加进去的引用也是不一样的。

  • 相关阅读:
    spring boot1
    部署 OpenStack VirtualBox
    SecureCRT连接虚拟机(ubuntu)配置
    深度优先算法和广度优先算法
    网上学习编程的七个趋势
    AI方向
    sql
    PyQt4入门
    “贪吃蛇”
    SecureCRT 专题
  • 原文地址:https://www.cnblogs.com/liaoxiaolao/p/9866273.html
Copyright © 2020-2023  润新知