Java字符串长度方法

时间:2012-07-15 11:56:43

标签: java string methods

  

可能重复:
  In Java, for a string x, what is the runtime cost of s.length()? Is it O(1) or O(n)?

String类的length方法究竟如何在Java中工作?

它是线性时间的for循环还是有一个字段保持长度的轨迹以便它的常数时间?

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

有一个存储长度的字段。它不需要“跟踪它”(暗示它可能会改变),因为字符串是不可变的。

答案 2 :(得分:0)

String将其数据存储在char[]数组中,但有些情况下String应仅使用该数组的一部分,这就是为什么在其字段中存储该数组的起始索引(int offset),以及应该用于生成String(int count)的长度。方法length()将返回count字段的值。

答案 3 :(得分:0)

String是不可变的,因此当创建String对象时,其长度将存储为该String对象的Instance变量。