我是靠谱客的博主 矮小小蘑菇,最近开发中收集的这篇文章主要介绍关于在集合中加入StringBuffer的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

/**
	 * 本来以为一个大项目里面的下面这段简单的代码,不会有什么问题,结果却花了我一段时间才找出这个BUG所在,这段代码就是简单的加入两个字符串内容,大家来看看输出来的内容是什么
	 * 
	 */
	@Test
	public 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集合才去取得引用所指向的具体的值。([第二行数据, 第二行数据]

最后

以上就是矮小小蘑菇为你收集整理的关于在集合中加入StringBuffer的问题的全部内容,希望文章能够帮你解决关于在集合中加入StringBuffer的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部