因为数组的地址是不会发生变化的,每次在数组中的内容改变后,将数组添加到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);
}

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

最新文章

  1. DevOps对于企业IT的价值
  2. SQL常见的系统存储过程
  3. JavaScript语言精粹读书笔记 - JavaScript函数
  4. 黑马程序员——JAVA基础之GUI
  5. How to debug Typescript in browser
  6. js中 字符串与Unicode 字符值序列的相互转换
  7. 隐马尔科夫模型(HMM)的概念
  8. Web开源框架大汇总
  9. maven中pom.xml
  10. ZOJ 1002 DFS
  11. React 实现拖拽功能
  12. 异步请求取得json数据
  13. windows硬盘优化篇
  14. Spring的事务管理基础知识
  15. android一个倾斜的TextView,适用于标签效果
  16. mongodb操作符
  17. MSCRM中报表开发一:创建基于SQL报表
  18. PHP 伪协议
  19. Java 反射 调用 demo
  20. 洛谷 P2751 [USACO4.2]工序安排Job Processing 解题报告

热门文章

  1. lua学习笔记(三)
  2. APPLE ID随意转区到US或者HK.不需要信用卡
  3. NHibernate 组件基础 (第六篇)
  4. k8s部署nginx集群
  5. Docker-Compose 自动创建的网桥与局域网冲突解决方案
  6. git入门三(远程、标签)
  7. 函数柯里化常见应用---add(1,2) add(1)(2) add(1)(2)(3) add(1,2,3)(4)
  8. C语言基础知识【程序结构】
  9. vs+opencv
  10. R语言编写乘法表