Java 拆分字符串性能
2022-08-31 19:51:10
以下是我的应用程序中的当前代码:
String[] ids = str.split("/");
分析应用程序时,字符串拆分花费的时间不可忽略不计。此外,该方法采用正则表达式,这在这里是多余的。split
我可以使用什么替代方法来优化字符串拆分?速度更快吗?StringUtils.split
(我本来会尝试并测试自己,但分析我的应用程序需要花费大量时间。
以下是我的应用程序中的当前代码:
String[] ids = str.split("/");
分析应用程序时,字符串拆分花费的时间不可忽略不计。此外,该方法采用正则表达式,这在这里是多余的。split
我可以使用什么替代方法来优化字符串拆分?速度更快吗?StringUtils.split
(我本来会尝试并测试自己,但分析我的应用程序需要花费大量时间。
String.split(String)
不会创建正则表达式,如果你的模式只有一个字符长。当按单个字符拆分时,它将使用非常有效的专用代码。 在这种特殊情况下,速度不会快多少。StringTokenizer
这是在OpenJDK7 / OracleJDK7中引入的。下面是一个错误报告和一个提交。我在这里做了一个简单的基准测试。
$ java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
$ java Split
split_banthar: 1231
split_tskuzzy: 1464
split_tskuzzy2: 1742
string.split: 1291
StringTokenizer: 1517