緩衝區其實就是一塊數組,而後對這一塊數組進行一系列的操做,它包括如下幾個經常使用的方法:數組
1分配空間給緩衝區
2.往緩衝區中添加數據調用put方法
3.調用flip方法切換爲讀狀態
4.讀取完畢調用clear方法從新設置位置爲0。異步
1.clear方法不清除數據,只是改變當前limit值函數
public final Buffer clear() { position = 0; limit = capacity; mark = -1; return this; }
2.flip方法容許輸出this
public final Buffer flip() { limit = position; position = 0; mark = -1; return this; }
3.rewind方法使posotion方法置爲0線程
public final Buffer rewind() { position = 0; mark = -1; return this; }
4.判斷兩個緩衝區是否相等的方法,代碼以下:code
public boolean equals(Object ob) { if (this == ob) return true; if (!(ob instanceof CharBuffer)) return false; CharBuffer that = (CharBuffer)ob; if (this.remaining() != that.remaining()) return false; int p = this.position(); for (int i = this.limit() - 1, j = that.limit() - 1; i >= p; i--, j--) if (!equals(this.get(i), that.get(j))) return false; return true; }
要知足幾下條件才能算相等。
一、對象要相同
二、剩餘的空間要相同
三、從position到limit區間的數據要相等才能確認數據是否相等。對象