कोई रूपांतरण के प्रदर्शन 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