Java字符串长度方法
可能重复:Java字符串长度方法,java,string,methods,Java,String,Methods,可能重复: String类的length方法在Java中到底是如何工作的 它是线性时间中的for循环,还是有一个字段保持长度跟踪,以便其时间恒定?有一个字段存储长度。它不需要“跟踪它”(暗示它可能会更改),因为字符串是不可变的。有一个字段来存储长度。它不需要“跟踪它”(暗示它可能会改变),因为字符串是不可变的。字符串的长度作为字段保存,如图所示:字符串的长度作为字段保存,如图所示:字符串将其数据存储在字符[]数组但在某些情况下,字符串应该只使用该数组的一部分,这就是为什么它在字段中存储该数组的
String类的length方法在Java中到底是如何工作的
它是线性时间中的for循环,还是有一个字段保持长度跟踪,以便其时间恒定?有一个字段存储长度。它不需要“跟踪它”(暗示它可能会更改),因为字符串是不可变的。有一个字段来存储长度。它不需要“跟踪它”(暗示它可能会改变),因为字符串是不可变的。字符串的长度作为字段保存,如图所示:字符串的长度作为字段保存,如图所示:字符串将其数据存储在
字符[]
数组但在某些情况下,字符串应该只使用该数组的一部分,这就是为什么它在字段中存储该数组的起始索引(int offset
),以及应该用于生成字符串的长度(int count
)。方法length()
将返回count
字段的值。String将其数据存储在char[]
数组中,但有时字符串应该只使用该数组的一部分,这就是为什么它在字段中存储该数组的起始索引(int offset
)以及用于生成字符串的长度(int count
)。方法length()
将返回计数
字段的值。字符串是不可变的,因此当创建字符串对象时,其长度存储为该字符串对象的实例变量。字符串是不可变的,因此当创建字符串对象时,其长度存储为该字符串对象的实例变量。用于查找。您可以我会喜欢的。(顺便说一句,这是我发布的一个链接:)用来找出答案。你会喜欢的。(顺便说一句,这是我发布的一个链接:)这个“so”意味着比实际情况更多的因果关系…你可以有不带长度字段的不可变字符串,StringBuffer可能也有长度字段,而且它不是不可变的。“所以”在这里的推理上下文中使用…“so”意味着比实际情况更多的因果关系…可以有不带长度字段的不可变字符串,StringBuffer可能也有长度字段,并且它不是不可变的。“so”在这里的推理上下文中使用。。。