【发布时间】:2014-11-18 01:54:39
【问题描述】:
在我们的项目中,我们将追求最大可能的“速度”。多次拆分字符串或将其存储在变量中并使用它会更快吗?
例子
String example = "1,2,3,4";
System.out.println(example.split(",")[0]);
System.out.println(example.split(",")[1]);
System.out.println(example.split(",")[3]);
System.out.println(example.split(",")[4]);
或
String[] example = "1,2,3,4".split(",");
System.out.println(example[0]);
System.out.println(example[1]);
System.out.println(example[2]);
System.out.println(example[3]);
哪一个会在更短的时间内执行?
【问题讨论】:
-
String[] example = "1,2,3,4".split(",");如果您的字符串很长并且您需要使用所有子字符串。那么将其存储在数组中会很好,因为.split()很耗时 -
除了效率之外,在第二个示例中存储
String[]还有另一个好处:如果拆分代码发生变化(例如,您想在", *"上拆分),您只需要进行一项更改,而不是四项更改。这意味着您错过其中一项更改的可能性较小,这意味着出现错误的可能性较小。
标签: java arrays string optimization split