Rumah > Java > javaTutorial > teks badan

Bagaimana dengan Cekap Menukar Integer kepada Array Byte di Jawa?

Mary-Kate Olsen
Lepaskan: 2024-11-09 03:09:02
asal
717 orang telah melayarinya

How to Efficiently Convert Integers to Byte Arrays in Java?

Penukaran Integer kepada Tatasusunan Byte yang Cekap dalam Java

Menukar integer kepada tatasusunan bait boleh berguna untuk pelbagai tujuan, seperti rangkaian penghantaran atau penyimpanan data. Terdapat pelbagai pendekatan untuk mencapai penukaran ini.

Kelas ByteBuffer:

Satu kaedah yang cekap ialah menggunakan kelas ByteBuffer. ByteBuffer ialah penimbal yang menyimpan data binari dan menyediakan pelbagai operasi untuk memanipulasinya. Untuk menukar integer kepada tatasusunan bait menggunakan ByteBuffer:

ByteBuffer b = ByteBuffer.allocate(4); // Allocate a 4-byte buffer
b.putInt(0xAABBCCDD); // Write the integer value to the buffer

byte[] result = b.array(); // Retrieve the byte array from the buffer
Salin selepas log masuk

Di sini, susunan bait penimbal memastikan bahawa bait disusun dalam susunan yang betul.

Penukaran Manual :

Sebagai alternatif, anda boleh menukar integer secara manual kepada tatasusunan bait:

byte[] toBytes(int i) {
  // Create a new byte array of length 4
  byte[] result = new byte[4];
  
  // Shift bits and assign to each byte
  result[0] = (byte) (i >> 24);
  result[1] = (byte) (i >> 16);
  result[2] = (byte) (i >> 8);
  result[3] = (byte) i;
  
  return result;
}
Salin selepas log masuk

Pendekatan ini memerlukan peralihan bit dan penugasan yang jelas kepada setiap bait.

Kaedah Helper dalam java.nio.Bits:

Kelas ByteBuffer menggunakan kaedah pembantu dalaman yang ditakrifkan dalam kelas java.nio.Bits:

private static byte int3(int x) { return (byte)(x >> 24); }
private static byte int2(int x) { return (byte)(x >> 16); }
private static byte int1(int x) { return (byte)(x >>  8); }
private static byte int0(int x) { return (byte)(x >>  0); }
Salin selepas log masuk

Kaedah ini mudahkan operasi peralihan bit yang dinyatakan di atas.

Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Integer kepada Array Byte di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan