ArrayList中存储数组时需要注意到的问题
2024-10-21 06:31:46
因为数组的地址是不会发生变化的,每次在数组中的内容改变后,将数组添加到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);
}
这样每次重新创建一个数组,它们的地址都是不一样的,所以添加进去的引用也是不一样的。
最新文章
- DevOps对于企业IT的价值
- SQL常见的系统存储过程
- JavaScript语言精粹读书笔记 - JavaScript函数
- 黑马程序员——JAVA基础之GUI
- How to debug Typescript in browser
- js中 字符串与Unicode 字符值序列的相互转换
- 隐马尔科夫模型(HMM)的概念
- Web开源框架大汇总
- maven中pom.xml
- ZOJ 1002 DFS
- React 实现拖拽功能
- 异步请求取得json数据
- windows硬盘优化篇
- Spring的事务管理基础知识
- android一个倾斜的TextView,适用于标签效果
- mongodb操作符
- MSCRM中报表开发一:创建基于SQL报表
- PHP 伪协议
- Java 反射 调用 demo
- 洛谷 P2751 [USACO4.2]工序安排Job Processing 解题报告
热门文章
- lua学习笔记(三)
- APPLE ID随意转区到US或者HK.不需要信用卡
- NHibernate 组件基础 (第六篇)
- k8s部署nginx集群
- Docker-Compose 自动创建的网桥与局域网冲突解决方案
- git入门三(远程、标签)
- 函数柯里化常见应用---add(1,2) add(1)(2) add(1)(2)(3) add(1,2,3)(4)
- C语言基础知识【程序结构】
- vs+opencv
- R语言编写乘法表