在java的String类中,有一个定义如下的变量:
private final int offset;
这个偏移有什么作用?
答案 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];
}