可以说我在一个替换了1,000个匹配实例的大字符串上调用了replaceAll()。这是否意味着由于字符串不可变性而创建并重新分配了1,000个字符串?有没有更快的选择?string.replaceAll()的性能会受到字符串不可变性的影响吗?
6
A
回答
13
-1
你可以用一个StringBuffer/StringBuilder尝试,因为它们是可变CharSequence S:
CharSequence veryBigString = new StringBuilder();
Pattern.compile(regex).matcher(veryBigString).replaceAll(replacement);
+1
如果'veryBigString'是可变的,那并不重要; 'replaceAll()'仍然会创建一个新的StringBuffer来完成这项工作,并将结果作为一个新的String返回。那是你的观点吗? – 2009-08-09 07:10:09
相关问题
- 1. MVVM Light工具包的性能不会受到影响吗?
- 2. 您使用AWSDBProxy吗?扩展时性能会受到影响吗?
- 3. NSClassFromString会影响性能吗?
- 4. 使用Pimpl的高级版本时性能可能会受到影响吗?
- 5. 字符串的硬编码是否会影响性能?
- 6. 不可见的UIButtons会影响渲染性能吗?
- 7. React性能:为什么不可变的数据会影响性能?
- 8. 为什么cuFFT性能会受到重叠输入的影响?
- 9. 使用jaxb XMLAdapter会影响性能吗?
- 10. django adminplus会影响性能吗?
- 11. 很多IFRAME会影响性能吗?
- 12. Javascript SetTimeOut会影响页面性能吗?
- 13. 字符串不可变性
- 14. 变量是否会影响性能?
- 15. 使用渐变会影响WP7的性能吗?
- 16. Java Visual VM是否会影响受监控的JVM的性能?
- 17. 性能的影响
- 18. Scripting.Dictionary性能受多个进程影响
- 19. DocumentDB:内置字符串函数的性能影响(如UPPER)
- 20. 内部excel行属性可能会影响oledb可见性?
- 21. 性能影响
- 22. 包括影响Count的性能吗?
- 23. 字符串不变性的安全性
- 24. 大型变量表的性能影响
- 25. 复制php变量的性能影响
- 26. Ruby字符串可变性
- 27. 太多的CSS会影响网站的性能吗?
- 28. file()会影响大小约2 MB的文件的性能吗?
- 29. GPU功能可以影响虚拟机的性能吗?
- 30. DB整理不区分大小写 - 会影响性能吗?
请记住,创建一个新的模式可能是昂贵的。根据被调用的频率,创建一次Pattern并从中创建Matcher可能更有效。与往常一样,分析您的应用程序会告诉您这是必要的还是过早的优化。 – AngerClown 2009-08-10 13:48:02