Java中字符串拼接是使用 + 还是 StringBuffer

本文探讨了在Java中进行字符串拼接时,使用+操作符与使用StringBuffer和StringBuilder的区别。虽然+适合短字符串拼接,但大量拼接时,StringBuffer和StringBuilder在性能上有显著优势。StringBuffer线程安全,适合多线程环境,而StringBuilder则在单线程环境中速度更快。对于大数据量拼接,StringBuilder的表现稍优,但差异在小项目中可能不明显。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    直奔主题,一般在拼接是我们都是习惯使用 + ,当然如果只是短呃字符串拼接 使用 + 是毋庸置疑的,为什么呢?

主要就是:自己操作方便,开发速度快。其实就是方便。

    但是如果是大范围的 字符串拼接 ,比如下面的代码 做的测试

long currentTimeMillis = System.currentTimeMillis();
		StringBuffer stringBuffer = new StringBuffer();
		for(int i=0;i<100000;i++) {
			stringBuffer.append(i);
		}
		long currentTimeMillis1 = System.currentTimeMillis();
		System.out.println(currentTimeMillis1 - currentTimeMillis);
		long currentTimeMillis2 = System.currentTimeMillis();
		String bb="";
		for(int i=0;i<100000;i++) {
			bb +=i;
		}
		long currentTimeMillis3 = System.currentTimeMillis();
		System.out.println(currentTimeMillis3-currentTimeMillis2);

结果真是大大的不同,速度相差很大。  6,35272。我测试的是这样的结果,几次测试都差不多的速度。可见 在打范围的 使用 + 所带来的速度,当然这个不只是速度问题,也关于 内存问题  查看源码可以得到 :一个 + 号 就会 new StringB

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值