No products in the cart.

Khi muốn copy 1 mảng byte trong Java ta dùng hàm này, nó sẽ trả về cho ta 1 mảng byte mới:
public static byte[] copyOfRange(byte[] original, int from, int to) {}
Hàm này cho phép ta copy theo kiểu range này ref [ )
Ví dụ 1:
byte[] pData = new byte[]{1,2,3,4,5};
byte[] new_data = Arrays.copyOfRange(pData, 0, 3);
Ví dụ này copy từ index = 0 đến index = 2 và kết quả là 1 mảng byte [1, 2, 3]
Ví dụ 2:
int offset = 10; Arrays.copyOfRange(pData, offset, offset + 12);
Ví dụ này cho phép ta copy 1 mảng byte từ index = 10 đến index = 21 từ mảng byte gốc pData. Ý đồ của ta là copy ra 12 bytes.
Dĩ nhiên mảng byte pData phải có kích thước lớn hơn hoặc bằng 23 bytes.
Ngoài ra chúng ta có thể dùng hàm này để copy từ mảng này sang mảng kia theo theo vị trí mong muốn:
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
Hàm System.arraycopy giống memcpy trong C/C++ (đọc thêm)
Sự khác nhau chính của Arrays.copyOfRange và System.arraycopy là 1 hàm trả về 1 mảng còn hàm kia copy và set trực tiếp.
Các bài viết không xem thì tiếc:
- Little Endian Unsinged trong Java
- Lưu ý khi porting C/C++ sang Java
- Đọc file và ghi file vào bộ nhớ internal Android từ thư mục raw
- “Các câu lệnh git thông dụng” cực cần thiết cho developer
- Làm tròn số phút lên 5 trong java
- Thay đổi ngôn ngữ Netbeans | dotrinh.com
1 Comment