1

我在 DirectByteBuffer.java 中找到了这段代码:

private long ix(int i) {
    return address + (i << 0);
}

有没有什么特殊用途,或者和

private long ix(int i) {
    return address + i;
}

谁能解释一下,非常感谢。

4

2 回答 2

2

它完全一样,只是它清楚地表明它没有被转移。

如果您查看 ShortBuffer 或 CharBuffer,您可能会看到<< 1IntBuffer 和 FloatBuffer<<2以及 LongBuffer 和 DoubleBuffer<< 3

如果您查看源代码,则还有许多空白行,并且格式表明代码是从通用模板生成的,这就是生成的原因<< 0

于 2012-12-26T09:56:04.567 回答
0

如果有其他方法基本上是重复的ix但具有不同的转变,那么它可能是为了方法之间的一致性。除此之外,它与您编写的第二种方法完全相同。

于 2012-12-26T09:55:16.000 回答