根据我最近的经验,我使用了使用分隔符的 split 和子字符串函数。只是想知道是否有人可以阐明哪一个更好,在什么条件下更好?
编辑:
我主要关心的是这些函数对性能和代码质量的影响。 (如果我可以使用其中任何一个,应该首选哪一个?如果有任何其他决定因素,请提及。)
顺便说一句,与一位同事进行了讨论,他说他不习惯使用子字符串。这就是我思考的原因..
仅供引用,我有一个包含 URL 的长 ID,以及需要单独获取和存储的两个不同 ID。 URL 全部相同,每个 ID 的长度相同,因此长度和索引将是恒定的,因此我知道确切的索引位置,并且之间还有像 # 这样的字符我可以用作分隔符的 ID。 ID 看起来像:
http://xyz.com#12345#ASDFG
所以,我有一个选择。我使用分隔符 # 进行分割,但想知道什么是更好的选择。
最佳答案
没有什么比这更好的了。两者都同样好,但主要取决于您使用它的场景。
当您知道索引时,请使用子字符串
。
split()
在内部创建 Pattern.compile
这是一个昂贵的操作。另外 .split()
接受一个字符串作为参数,但这个字符串被解释为一个 Pattern
关于java - 何时使用 : Substring or Split using delimiter? 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18705968/