Birinin bir Bufferparçası olarak sağlanan 'ler kullanılabilirjava.nioDönüştürmeyi gerçekleştirmek için paketin bir .
Burada kaynak byte[]dizinin uzunluğu 8'dir, bu boyut bir longdeğere karşılık gelen boyuttur .
İlk olarak, byte[]dizi bir a dizisine sarılır ByteBufferve ardından değeri ByteBuffer.getLongelde 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.getLongYorumlarda yönteme işaret ettiği için dfa'ya teşekkür etmek istiyorum .
Bu durumda uygulanabilir olmasa da, Bufferlerin 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 ByteBufferbir olarak görülüyor, IntBufferve 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