为什么使用'<< DirectByteBuffer中的0'

时间:2012-12-26 09:52:20

标签: java nio

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

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

是否有任何特殊目的,或与

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

谁能解释,非常感谢。

2 个答案:

答案 0 :(得分:2)

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

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

如果查看源代码,还会有​​很多空行,格式化表明代码是从公共模板生成的,这就是生成<< 0的原因。

答案 1 :(得分:0)

如果有其他方法基本上与ix重复但具有不同的班次,则可以在这些方法之间保持一致。除此之外,它与您编写的第二种方法完全相同。