java – 有一个更快的方法然后StringBuilder最多9-10步字符串连
发布时间:2020-12-15 01:01:56 所属栏目:Java 来源:网络整理
导读:我有这个代码来连接一些数组元素: StringBuilder sb = new StringBuilder();private RatedMessage joinMessage(int step,boolean isresult) { sb.delete(0,sb.length()); RatedMessage rm; for (int i = 0; i = step; i++) { if (mStack[i] == null) contin
我有这个代码来连接一些数组元素:
StringBuilder sb = new StringBuilder(); private RatedMessage joinMessage(int step,boolean isresult) { sb.delete(0,sb.length()); RatedMessage rm; for (int i = 0; i <= step; i++) { if (mStack[i] == null) continue; rm = mStack[i].getCurrentMsg();// msg is built upfront,this just returns,it's a getter method call if (rm == null || rm.msg.length() == 0) continue; if (sb.length() != 0) { sb.append(","); } sb.append(rm.msg); } rm.msg=sb.toString(); return rm; } 重要的是阵列最多可容纳10个项目,所以它并不多. 我的跟踪输出告诉我这个方法被称为18864次,在此方法中花费了16%的运行时间.我可以优化更多吗? 解决方法
一些想法:
1)您是否使用估计的最大容量初始化StringBuilder?这可以节省内部阵列重新分配所花费的时间.复制. 2)也许你可以在循环中附加一个尾随逗号,并避免循环内字符串长度的条件.而是在方法的末尾添加单个条件,并在需要时删除尾随逗号. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 使用兼容性时从活动中获取FragmentTransaction的问
- 浅谈spring ioc的注入方式及注入不同的数据类型
- java – actionBar.setNavigationMode(ActionBar.NAVIGATIO
- java生成图片验证码示例代码
- 在java cross-plateform-ably中没有时间播种随机发生器
- 用字符串Java切换案例
- javax.imageio.ImageIO坏了吗?它会旋转一些图像
- 使用Java编写XML的最佳做法和设计指南?
- java – Jersey是否支持美元符号JAX-RS的Path注释?
- java – 创建包含外部文件的Runnable Jar