Birinin bir Buffer
parçası olarak sağlanan 'ler kullanılabilirjava.nio
Dönüştürmeyi gerçekleştirmek için paketin bir .
Burada kaynak byte[]
dizinin uzunluğu 8'dir, bu boyut bir long
değere karşılık gelen boyuttur .
İlk olarak, byte[]
dizi bir a dizisine sarılır ByteBuffer
ve ardından değeri ByteBuffer.getLong
elde etmek için yöntem çağrılır long
:
ByteBuffer bb = ByteBuffer.wrap(new byte[] {0, 0, 0, 0, 0, 0, 0, 4});
long l = bb.getLong();
System.out.println(l);
Sonuç
4
ByteBuffer.getLong
Yorumlarda yönteme işaret ettiği için dfa'ya teşekkür etmek istiyorum .
Bu durumda uygulanabilir olmasa da, Buffer
lerin güzelliği birden çok değere sahip bir diziye bakmakla birlikte gelir.
Örneğin, eğer bir 8 bayt dizisi vardı ve biz iki gibi kullanmak istedi int
, biz sarabilirdiniz değerler byte[]
bir in diziyi ByteBuffer
bir olarak görülüyor, IntBuffer
ve değerleri elde IntBuffer.get
:
ByteBuffer bb = ByteBuffer.wrap(new byte[] {0, 0, 0, 1, 0, 0, 0, 4});
IntBuffer ib = bb.asIntBuffer();
int i0 = ib.get(0);
int i1 = ib.get(1);
System.out.println(i0);
System.out.println(i1);
Sonuç:
1
4