在java中创建Buffer数组的深层副本

时间:2014-04-18 09:15:00

标签: java buffer nio

如何在不更改原始内容的情况下创建Buffer数组的深层副本   在java中。我见过this link,但它无法解决我的问题。

我正在获取一个Buffer []数组,并希望使用上面的链接创建这样的副本,但Buffer类不提供put方法。

private Buffer [] clone(Buffer [] original) {
    Buffer clone[] = new Buffer [2];
    clone[0] = Buffer.allocate(original[0].capacity());
    original[0].rewind();// copy from the beginning
    clone[0].put(original[0]);
    original[0].rewind();
    clone[0].flip();

    clone[1] = Buffer.allocate(original[1].capacity());
    original[1].rewind();// copy from the beginning
    clone[1].put(original[1]);
    original[1].rewind();
    clone[1].flip();

    return clone;
}

0 个答案:

没有答案