Home >Java >javaTutorial >How to Convert Between Byte Arrays and Integers in Java: A Step-by-Step Guide

How to Convert Between Byte Arrays and Integers in Java: A Step-by-Step Guide

DDD
DDDOriginal
2024-10-27 08:24:03343browse

How to Convert Between Byte Arrays and Integers in Java: A Step-by-Step Guide

Converting Between Byte Arrays and Integers in Java

Storing numerical data as byte arrays provides flexibility and efficient memory usage, especially when dealing with numbers of limited size. In Java, the conversion between byte arrays and integers can be achieved using simple techniques with a clear understanding of the underlying operations.

To convert an integer (short) to a 2-byte array, one can utilize the ByteBuffer.wrap() method. This method takes a byte array as input and wraps it into a buffer. The buffer can then be read and written using the various methods available in the ByteBuffer class.

The following code demonstrates the conversion process:

<code class="java">byte[] arr = { 0x00, 0x01 };
ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default
short num = wrapped.getShort(); // 1</code>

In this example, a 2-byte array {0x0, 0x1} is wrapped into a ByteBuffer named wrapped. The wrapped buffer is then used to retrieve the short value using the getShort() method, resulting in the value 1.

Converting the short integer back into a byte array can be done using the ByteBuffer.allocate() method. This method creates a new ByteBuffer with a specified capacity. The integer value is written to the new buffer using the putShort() method.

<code class="java">ByteBuffer dbuf = ByteBuffer.allocate(2);
dbuf.putShort(num);
byte[] bytes = dbuf.array(); // { 0, 1 }</code>

In this code snippet, a new ByteBuffer named dbuf is allocated with a capacity of 2 bytes. The short value num is written to dbuf using the putShort() method. Finally, the array() method is used to retrieve the underlying byte array, which is the same as the original input array, {0x0, 0x1}.

The above is the detailed content of How to Convert Between Byte Arrays and Integers in Java: A Step-by-Step Guide. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn