【发布时间】:2013-04-28 07:46:20
【问题描述】:
我需要读取存储在文本文件单行中的数组。 到现在为止是这样的:
BufferedReader in = /*hook it to the file input stream via an InputStreamReader */
String[] input = in.readLine().split(" ");
for (int i = 0; i < input.length; i++)
array[i] = Integer.parseInt(input[i]);
在这里,我不必要地使用了字符串数组。如何删除这个多余的步骤?
【问题讨论】:
-
这是一个灾难性的性能问题吗?你想避免使用
String#split? -
读取磁盘上的文件比拆分字符串、实例化字符串数组并将每个元素转换为整数要慢几个数量级。这样做你不会获得任何有意义的东西。这就像在 2,000 英里的旅行后,使用跑鞋从汽车步行 10 米到您家。过早的优化是万恶之源。使用干净且可维护的代码,并仅在必要时进行优化。
标签: java arrays performance input inputstream