关于在集合中加入StringBuffer的问题
来源:互联网 发布:ubuntu使用搜狗输入法 编辑:程序博客网 时间:2024/04/30 12:13
/** * 本来以为一个大项目里面的下面这段简单的代码,不会有什么问题,结果却花了我一段时间才找出这个BUG所在,这段代码就是简单的加入两个字符串内容,大家来看看输出来的内容是什么 * */@Testpublic void test(){StringBuffer sb = new StringBuffer();List list = new ArrayList();sb.append("第一行数据");list.add(0,sb);sb.delete(0, sb.length());sb.append("第二行数据");list.add(1,sb);System.out.println(list);}
在运行之后,你会发现程序的输出内容是:见末尾,也就是说,list 集合里并不是存放引用的具体值,而是存放这个引用,但是在Java的API里面
public void add(int index,E element)
将指定的元素插入此列表中的指定位置。向右移动当前位于该位置的元素(如果有)以及所有后续元素(将其索引加 1)。
并没有进行详细的说明,而根据程序的输出结果,可以看出,在对集合进行输出之时,list集合才去取得引用所指向的具体的值。([第二行数据, 第二行数据])
0 0
- 关于在集合中加入StringBuffer的问题
- 关于Java中StringBuffer的capacity问题
- 关于ScrollView中加入VideoView的问题
- 关于在Android studio 在布局中加入datepicker 无法显示的问题
- 关于在Flex中直接加入Sprite问题
- 关于在Flex中直接加入Sprite问题
- 关于集合中在迭代器中用集合的对象删除元素的并发异常问题
- 关于ListView中加入并选取checkbox错位的问题
- 关于ListView中加入并选取checkbox错位的问题
- 关于集合中理解的问题
- 在TstringList中加入对象时要注意的问题
- 关于list集合传到jsp,在struts的select标签中显示下拉列表问题
- 关于在DataList中加入删除确认
- 关于算法源代码中头文件myhead的问题和如何在VS2010中加入自己的头文件的问题
- 在collection view中加入 NavigationController问题
- 关于StringBuilder和StringBuffer扩容的问题
- 关于html中 ul li 中加入div(div位置随意设置)的问题
- 关于在CSDN Blog公告栏加入Google搜索功能的问题
- 【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑
- 软考——公钥和私钥
- 基于hadoop2.2的map端表关联(map side join)mapreduce实现
- SQLLDR详解与例子
- 9.2
- 关于在集合中加入StringBuffer的问题
- android创建sqlite数据库及在SD卡上创建数据库
- hdu1316 大数
- ThreadPoolExecutor使用和思考-线程池大小设置与BlockingQueue的三种实现区别
- [LeetCode]Merge Two Sorted Lists
- 初识C++
- java 作业 4.1
- Sqlplus中的VARIABLE以及使用VARIABLE之后使用execute。
- if有空的话 C++