gpt4 book ai didi

java - 字符串等于与字节数组比较

转载 作者:行者123 更新时间:2023-12-02 12:51:20 25 4
gpt4 key购买 nike

字节数组比较(使用简单的循环来检查每个索引)是否比使用 String.equals(Object) 更快?我不这么认为,但有些人似乎更喜欢基于字节的操作,而不是基于字符串的操作,包括字节数组相等性检查。

在侧节点上,什么时候使用字节数组而不是字符串才有意义?您是否认为例如实现 Levenshtein 算法来计算两个字符串的“距离”的度量。您认为如果它基于字节而不是字符串/字符,它会加速计算吗?我不这么认为,但也许吧。

例如,如果它用于对 token 进行编码,如https://github.com/BaseXdb/basex/blob/master/src/main/java/org/basex/util/Token.java

最佳答案

字符串不包含字节。它们包含字符。字符串等于显然比较两个字符串的字符(除非它们甚至没有相同的长度)。由于 String 可以直接访问底层 char 数组,而外部代码则没有这种权限,因此使用 equals 显然更快。

处理二进制数据(二进制流、密码学等)时使用字节数组是有意义的。处理文本数据时,使用 Strings、StringBuilders、CharSequence 或 char 数组会更好。这一切都取决于具体情况。

关于java - 字符串等于与字节数组比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com