1. 程式人生 > >ByteBuffer的初始化及賦值語句

ByteBuffer的初始化及賦值語句

ByteBuffer類沒有public的建構函式,只能通過 ByteBuffer.allocate(int capacity) 或者 warp 構造物件。

如果將一個ByteBuffer 物件a賦值給另一個ByteBuffer 物件b,或者將a作為引數傳入函式,都是引用傳遞,可以理解為c++裡物件指標,都不涉及記憶體拷貝。

public static void main(String[] args) {
    ByteBuffer a = ByteBuffer.allocate(20);
    ByteBuffer b = a;
    bc.putChar('1');
    func(a);
}

private static void func(ByteBuffer c){
    c.putChar('2');        
}

所以這三個物件任意一個被改變,其他物件也將被改變。

已通過測試驗證。