java - 何时使用 : Substring or Split using delimiter? 哪个更好?

标签 java split comparison substring delimiter

根据我最近的经验,我使用了使用分隔符的 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/

相关文章:

java - 使用 SWT 在树项单击上填充表行

java - 将多个 javaFX 应用程序打包到一个 native 包中

go - 使用 Go 搜索特定单词

r - 将数值向量拆分为不相等的部分,然后将自定义函数应用于每个部分

C++:如何比较几个 vector ,然后创建一个包含所有 vector 的所有元素的新排序 vector

php - 检查两个数组是否仅包含相同的键

java - RandomAccessFile 类如何使用 randomAccessFile.read() 方法返回字节;

java - 记录 native 代码发出的调用

python - 替换部分字符串

java - Java 中对象比较的问题(上下文是 RB 树)