2013-10-26 2 views
2

Мне нужно увеличивать 32-битное значение каждый раз, когда я вхожу в определенный цикл. Однако в конечном итоге он должен быть в форме байтового массива (byte []). Каков наилучший способ сделать это?Как инициализировать и увеличивать массив байтов в Java?

Вариант 1:

byte[] count = new byte[4]; 
//some way to initialize and increment byte[] 

Вариант 2:

int count=0; 
count++; 
//some way to convert int to byte 

Вариант 3: ??

+1

Эта ссылка может быть вам полезна http://stackoverflow.com/questions/6374915/java-convert-int-to-byte -array-оф-4 байта – SpringLearner

ответ

0

Вы бы конвертировать ваши int в byte[] следующим образом:

ByteBuffer b = ByteBuffer.allocate(4); 
//b.order(ByteOrder.BIG_ENDIAN); // optional, the initial order of a byte buffer is always BIG_ENDIAN. 
b.putInt(0xAABBCCDD); 

byte[] result = b.array(); 

Источник: Convert integer into byte array (Java)

Сейчас идет приращение части. Вы можете увеличить свое целое число так же, как и вы. используя ++ или независимо от того, что нужно. Затем очистите ByteBuffer, положите в этот номер снова flip() буфер и получите массив

Смежные вопросы