如上图所示,在一个循环体中用“+”动态拼接字符串,这是我们开发中非常的忌讳的方式,虽然它也能达到我们想要的效果但是性能上包括时间和内存都造成了很大程度的浪费,尤其是访问量很高的循环次数很多的情况下,很容易引起内存溢出。
因为“+”拼接字符串,每拼接一次都是再内存重新开辟一个新的内存区域(堆里边),然后把得到的新的字符串存在这块内存,字符串如果很大,循环次多又多,那么浪费了很多时间和空间的开销,切记这一点。
正确的方法是用StringBuilder或者StringBuffer代替“+”,最好给
在循环体中使用'+'拼接字符串可能导致性能下降和内存浪费,尤其是在高访问量和大量循环时可能引发内存溢出。推荐使用StringBuilder或StringBuffer,并初始化适当大小的容量。此外,Apache Commons Lang的StringUtils.join()和Google Guava的Joiner.on().join()提供更高效的列表元素拼接方式。
如上图所示,在一个循环体中用“+”动态拼接字符串,这是我们开发中非常的忌讳的方式,虽然它也能达到我们想要的效果但是性能上包括时间和内存都造成了很大程度的浪费,尤其是访问量很高的循环次数很多的情况下,很容易引起内存溢出。
因为“+”拼接字符串,每拼接一次都是再内存重新开辟一个新的内存区域(堆里边),然后把得到的新的字符串存在这块内存,字符串如果很大,循环次多又多,那么浪费了很多时间和空间的开销,切记这一点。
正确的方法是用StringBuilder或者StringBuffer代替“+”,最好给
892