【发布时间】:2016-05-25 02:42:11
【问题描述】:
所以我正在编写一个解析 CSV 的程序。我正在使用 split 方法将值分隔到一个字符串数组中,但我在一些文章中读到使用 substring 和 indexOf 更快。我基本上写了我会用这两种方法做什么,看起来拆分会更好。有人可以解释一下这如何更好,或者我是否没有正确使用这些方法?这是我写的:
int indexOne = 0, indexTwo;
for (int i = 0; i < 4; i++) //there's four diff values in one line
{
if (line.indexOf(",", indexOne) != -1)
{
indexTwo = line.indexOf(",", indexOne);
lineArr[i] = line.substring(indexOne, indexTwo);
indexOne = indexTwo+1;
}
}
【问题讨论】:
-
你能链接其中的一些文章吗?
-
考虑使用 lodash 或下划线或类似不处理此类事情。
-
@AustinD 这是一个链接 demeranville.com/… 有人把它放在 stackexchange 的评论中,这是那个线程 programmers.stackexchange.com/questions/221997/…
-
@Michael 你的意思是在 CSV 文件中吗?
-
@AustinD 我并不惊讶 split() 会更快。这是一个反复重复的常见操作,当 Java 最终添加它时,我倾向于相信他们使用的是优化算法。情况并非总是如此,但我倾向于在为我创建轮子时不重新发明轮子,除非有具体证据表明它效率低下。