说说需求吧, 现在有什么样的数据, 要达到什么样的效果
[quote=引用 4 楼 zhongzhan2011 的回复:] [quote=引用 2 楼 bree06的回复:]那就考虑一下为什么一定要连接字符串, 不拼接可不可以处理. 不拼接处理速度会不会更快更方便. 实在要拼接的话可以这样 1. 使用局部变量StringBuilder, 只要不是全局的变量多线程也不会受影响. 2. %s-%s-%s-%s-%s拼完后的字符串长度是否都差不多? 比较拼完后都是100个左右的长度, 那在建StringBuilder的时候指定长度100可以避免多次内存分配 3. 考虑复用StringBuilder, 将StringBuilder的定义放在循环外面, 然后在循环中使用结束后调用delete()方法清除内容, 部分内容一样的话还可以将一样的内容存留在StringBuilder中, 只清除不一样的内容
[quote=引用 2 楼 bree06的回复:]那就考虑一下为什么一定要连接字符串, 不拼接可不可以处理. 不拼接处理速度会不会更快更方便. 实在要拼接的话可以这样 1. 使用局部变量StringBuilder, 只要不是全局的变量多线程也不会受影响. 2. %s-%s-%s-%s-%s拼完后的字符串长度是否都差不多? 比较拼完后都是100个左右的长度, 那在建StringBuilder的时候指定长度100可以避免多次内存分配 3. 考虑复用StringBuilder, 将StringBuilder的定义放在循环外面, 然后在循环中使用结束后调用delete()方法清除内容, 部分内容一样的话还可以将一样的内容存留在StringBuilder中, 只清除不一样的内容
那就考虑一下为什么一定要连接字符串, 不拼接可不可以处理. 不拼接处理速度会不会更快更方便. 实在要拼接的话可以这样 1. 使用局部变量StringBuilder, 只要不是全局的变量多线程也不会受影响. 2. %s-%s-%s-%s-%s拼完后的字符串长度是否都差不多? 比较拼完后都是100个左右的长度, 那在建StringBuilder的时候指定长度100可以避免多次内存分配 3. 考虑复用StringBuilder, 将StringBuilder的定义放在循环外面, 然后在循环中使用结束后调用delete()方法清除内容, 部分内容一样的话还可以将一样的内容存留在StringBuilder中, 只清除不一样的内容
不考虑线程安全的话stringbuilder能比stringbuffer效率高一些
50,530
社区成员
85,610
社区内容
加载中
试试用AI创作助手写篇文章吧