<分区>
我发现我自己不断地改变我的实用方法来改进我的 Java 代码中的字符串处理。例如,我更改了一堆搜索和替换代码以使用 commons StringUtils.replace 方法。或者将 1.4 升级到 1.6 java 以键入安全代码。
我想请您发布您使用的实践,以便让您的字符串操作平稳、安全、快速地运行,并且您的代码的可重用性相当简单和优雅。
如果你有模式,那就更好了。
此外,如果您现在有任何值得一试的新 1.7 java 功能,请在此处发布。
处理非常大的字符串时该怎么办?打散他们?
在字符串上使用正则表达式时要记住什么?
在使用循环密集型算法时如何利用缓存模式(哪些是最好的一次)?
有没有类似grep、ack、diff功能的库 |拼写检查 |过滤脏话(任何词)...
如果可能你应该使用StringBuilder ,特别是用于连接字符串。性能提升可能非常大。
StringBuilder sb = new StringBuilder("Mat");
sb.append(" ");
sb.append("Bank");
// oops
int i = sb.indexOf("k");
sb.insert(i, 'i'); // character
String mb = sb.toString();
// result = "Mat Banik"
在大型程序中,使用 s1+s2 是最糟糕和最容易解决的性能问题之一。
StringBuilder 几乎具有String 的所有特性。您可以在不复制的情况下提取子字符串。当您需要一个字符串(例如,对于模式/匹配器)时,您可以使用 toString() 进行转换。