ArrayList.add()添加重复元素
2015-11-09 11:46
274 查看
这两天被这个问题折磨的死去活来。
我创建了一个全局变量ArrayList<ArrayList<E>> a 和另一个全局变量ArrayList<E> b,往a中添加b,最后发现添加的数据都是一样的。一开始我以为是我b没有clean(),后来搞了半天,返现输出竟然都是添加最后一个数据。
网上找了找关于ArrayList.add(),当添加的时候添加的并不是实体类,而是实体类的引用,相当于指针,存储的是也是存储的指针。所以我添加的都是b的引用,而这个引用并没有变化,所以最后ArrayList中的数据均指向最后一次封装的b。
所以当往ArrayList中添加数据的时候需要重新new对象
我创建了一个全局变量ArrayList<ArrayList<E>> a 和另一个全局变量ArrayList<E> b,往a中添加b,最后发现添加的数据都是一样的。一开始我以为是我b没有clean(),后来搞了半天,返现输出竟然都是添加最后一个数据。
网上找了找关于ArrayList.add(),当添加的时候添加的并不是实体类,而是实体类的引用,相当于指针,存储的是也是存储的指针。所以我添加的都是b的引用,而这个引用并没有变化,所以最后ArrayList中的数据均指向最后一次封装的b。
所以当往ArrayList中添加数据的时候需要重新new对象
相关文章推荐
- swift 对象方法
- swift 对象方法
- SSL自签署证书生成脚本
- 进程调度模拟
- mysql show status 解释
- 一个陌生的iphone用户手机拿来了,需要跑一个调试程序步骤
- SQL 查询
- (四期)简单添加TableViewCell的3D动画效果
- Java API ——Character类
- GTK重拾--02
- WM_NCCALCSIZE消息处理详解修正
- MFC学习笔记之——>MFC下的TCP通信的建立
- MFC学习笔记之——>MFC下的TCP通信的建立
- 深入浅出 - Android系统移植与平台开发(十一)- Android系统的定制
- iOS开发 - Xcode7下解决使用三方库出现的warning问题
- QQ分享登陆报错
- (三期)Hybrid混合开发之Appcan技术
- SPI接口
- iOS自动布局Auto Layout 与 SizeClass
- 计算机网络基础试题