Devo memorizzare alcuni valori costanti (UUID) in forma di array di byte in java e mi chiedo quale sarebbe il modo migliore per inizializzare tali array statici. Questo è come lo sto facendo attualmente, ma sento che ci deve essere un modo migliore.Come inizializzare un array di byte in Java?
private static final byte[] CDRIVES = new byte[] { (byte)0xe0, 0x4f, (byte)0xd0,
0x20, (byte)0xea, 0x3a, 0x69, 0x10, (byte)0xa2, (byte)0xd8, 0x08, 0x00, 0x2b,
0x30, 0x30, (byte)0x9d };
private static final byte[] CMYDOCS = new byte[] { (byte)0xba, (byte)0x8a, 0x0d,
0x45, 0x25, (byte)0xad, (byte)0xd0, 0x11, (byte)0x98, (byte)0xa8, 0x08, 0x00,
0x36, 0x1b, 0x11, 0x03 };
private static final byte[] IEFRAME = new byte[] { (byte)0x80, 0x53, 0x1c,
(byte)0x87, (byte)0xa0, 0x42, 0x69, 0x10, (byte)0xa2, (byte)0xea, 0x08,
0x00, 0x2b, 0x30, 0x30, (byte)0x9d };
...
and so on
C'è qualcosa che potrei usare che potrebbe essere meno efficiente, ma sembrerebbe più pulito? per esempio:
private static final byte[] CDRIVES =
new byte[] { "0xe04fd020ea3a6910a2d808002b30309d" };
L'esempio Guava funziona non del tutto come scritto - ha bisogno di essere 'Base16() minuscole (.) .decode (...) 'se si hanno cifre esadecimali minuscole. http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/io/BaseEncoding.html#lowerCase() –
@PeterDeGlopper Buona ricerca, ho aggiornato la risposta in modo che il codice ora gestisca stringhe con caratteri maiuscoli e minuscoli. –