java.lang.String中的offset有什么作用?

时间:2015-07-22 13:37:49

标签: java string offset

在java的String类中,有一个定义如下的变量:

private final int offset;

这个偏移有什么作用?

3 个答案:

答案 0 :(得分:6)

来自变量偏移的评论:

  

偏移量是使用的存储的第一个索引。

内部String表示为数组中的字符序列。

这是从数组中使用的第一个char。

之前已经介绍了,因为某些操作(例如substring)使用原始字符数组使用不同的偏移量创建了新的String

所以基本上是为子字符串操作进行性能调优而引入的变量。

注意: offset变量始终包含变量private final int count;

答案 1 :(得分:3)

形成source code

  

偏移量是使用的存储的第一个索引。

答案 2 :(得分:2)

来自String.java

  

偏移量是使用的存储的第一个索引。

/** The value is used for character storage. */
private final char value[];

/** The offset is the first index of the storage that is used. */    
private final int offset;

您可以看到它在各种方法中使用,例如:

public char charAt(int index) {
    // ...
    return value[index + offset];
}