कोई रूपांतरण के प्रदर्शन Bufferके लिए java.nioपैकेज के हिस्से के रूप में प्रदान किए गए s का उपयोग कर सकता है ।
यहां, स्रोत byte[]सरणी की लंबाई 8 है, जो आकार है जो एक longमूल्य से मेल खाती है ।
सबसे पहले, byte[]सरणी को एक में लपेटा जाता है ByteBuffer, और फिर मूल्य ByteBuffer.getLongप्राप्त करने के लिए विधि को बुलाया जाता है long:
ByteBuffer bb = ByteBuffer.wrap(new byte[] {0, 0, 0, 0, 0, 0, 0, 4});
long l = bb.getLong();
System.out.println(l);
परिणाम
4
मैं ByteBuffer.getLongटिप्पणियों में विधि को इंगित करने के लिए dfa को धन्यवाद देना चाहूंगा ।
हालाँकि यह इस स्थिति में लागू नहीं हो सकता है, एस की सुंदरता Bufferकई मूल्यों के साथ एक सरणी को देखने के साथ आती है।
उदाहरण के लिए, यदि हमारे पास एक 8 बाइट सरणी है, और हम इसे दो intमूल्यों के रूप में देखना चाहते थे , तो हम byte[]सरणी को एक में लपेट सकते हैं ByteBuffer, जिसे एक के रूप में देखा जाता है IntBufferऔर इसके द्वारा मान प्राप्त करते हैं 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);
परिणाम:
1
4