gpt4 book ai didi

java - 为什么在 Java String 实现中有一个偏移量?

转载 作者:搜寻专家 更新时间:2023-10-31 19:55:39 26 4
gpt4 key购买 nike

我一直在看实现,我不明白为什么会有偏移量。我认为这很重要。

我正在学习 Sedgewick 教授的算法类(class),我们现在正在谈论字符串。在讲座中,他简要讨论了 String 的实现,但他没有讨论为什么会有偏移量(注意,如果讲座不是在线的,我肯定会问)。

似乎当一个人在实现中创建一个 String 时,它被赋予了一个偏移量,我似乎无法理解为什么需要一个。即使出于子字符串的目的,我也不太明白为什么会有偏移量。例如,显然,如果您创建一个字符串 "David",它实际上是 ['X', 'X', 'D', 'a', 'v', 'i' , 'd', 'X'] 或类似性质的东西,它被 'X' 偏移。这是为什么?

最佳答案

这在字符串需要从另一个更长的字符串派生的情况下很有用,类似于 substring()。

在这种情况下,可以使用相同的(不可变的)支持数组,同时调整偏移量和长度,以节省内存并优化性能。

在 JDK7 中不再是这种情况。

关于java - 为什么在 Java String 实现中有一个偏移量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19898452/

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