Tôi đang cố gắng "dọn sạch" một ByteBuffer
thành tất cả các byte không (tất cả 0x00
). Tôi đã cố gắng lặp qua tất cả các vị trí trong bộ đệm và đặt chúng thành 0x00
, nhưng hiệu quả là xấu. Có cách nào tốt hơn để nhanh chóng xóa một ByteBuffer
- tương tự như những gì BitSet.clear()
không?Xóa nhanh (không rõ) một ByteBuffer trong Java
Xin lưu ý rằng ByteBuffer.clear()
không phải là giải pháp thích hợp cho tôi trong trường hợp này - tôi phải xóa tất cả dữ liệu bên trong bộ đệm và không chỉ đặt lại con trỏ về đầu.
Bất kỳ gợi ý nào?
Chỉnh sửa: ByteBuffer được sử dụng như một phần của bảng băm và nó duy trì các tham chiếu của các mục bảng băm. Mỗi khi bảng băm cần được xóa, tôi phải thiết lập lại các mục bảng băm để chèn bảng băm sau này. Kể từ khi bảng băm được truy cập một cách ngẫu nhiên, tôi không thể chỉ rõ ràng() trạng thái của bộ đệm byte.
Bạn có thể giải thích trường hợp sử dụng một cách chi tiết hơn không? Bạn nhận được cái gì? – jontro
Tại sao bạn nghĩ rằng bạn cần phải không ra khỏi bộ đệm? – EJP
Đây có phải là bộ đệm trực tiếp không? Nếu không, những gì về chỉ 'ByteBuffer.wrap (byte mới [123456]);' –