2

在我最近的经验中,我使用了使用分隔符的拆分和子字符串函数。只是想知道是否有人可以阐明哪个更好,以及在什么条件下?

编辑:

我主要关心的是这些函数对性能和代码质量的影响。(如果我可以使用其中任何一个,应该首选哪一个?如果有任何其他决定因素,请提及。)

在旁注中,与一位说他不习惯使用子字符串的同事进行了讨论。这让我想到了..

仅供参考,我有一个包含 URL 的长 ID,以及需要分别获取和存储的两个不同 ID。URL 全部相同,每个 ID 的长度相同,因此长度和索引将是恒定的,所以我知道确切的索引位置,并且我在 ID 之间也有像 #这样的字符 ,我可以用作分隔符。ID 类似于:

http://xyz.com#12345#ASDFG

所以,我有一个选择。我使用分隔符#使用拆分,但想知道什么是更好的选择。

4

3 回答 3

3

没有比这更好的了。两者都一样好,但这主要取决于您使用它的场景。

当您知道索引时使用substring.

split()内部创建Pattern.compile这是一项昂贵的操作。也.split()接受一个字符串作为参数,但是这个字符串被解释为一个模式

于 2013-09-09T20:00:55.160 回答
2

It all depends on what the correct tool for the job is and weather or not you can predetermine where to split the string!

Split is going to create an array of strings, each element containing the values between the characters you chose to delimit by.

Substring is going to return you a partial string value depending on which index you provide.

As for applicable scenario's check out a great explanation provided by dasblinkenlight.

于 2013-09-09T20:04:28.647 回答
1

如果您知道索引,那么最好使用subString(),因为spilt()创建了一个字符串数组

于 2013-09-09T19:59:30.177 回答