我在 DirectByteBuffer.java 中找到了这段代码:
private long ix(int i) {
return address + (i << 0);
}
有没有什么特殊用途,或者和
private long ix(int i) {
return address + i;
}
谁能解释一下,非常感谢。
它完全一样,只是它清楚地表明它没有被转移。
如果您查看 ShortBuffer 或 CharBuffer,您可能会看到<< 1
IntBuffer 和 FloatBuffer<<2
以及 LongBuffer 和 DoubleBuffer<< 3
如果您查看源代码,则还有许多空白行,并且格式表明代码是从通用模板生成的,这就是生成的原因<< 0
。
如果有其他方法基本上是重复的ix
但具有不同的转变,那么它可能是为了方法之间的一致性。除此之外,它与您编写的第二种方法完全相同。