web-dev-qa-db-fra.com

Chaîne en tableau de caractères Java

Je suis perplexe à ce sujet et il me faut des yeux neufs, je ne sais pas pourquoi ce code le fait.

String string = new String(new char[] {(char) 0x01, (char) 0x02, ... ,(char) 0xFC});

La sortie correspond à tout ce qu'elle devrait être jusqu'au dernier nombre (0xFC). Elle renvoie un -4. Je sais que c'est une valeur hexadécimale, mais si je fais la même chose avec 252 la valeur décimale, cela me donne également un négatif. J'espère que ce n'est qu'une solution simple et que je ne la vois pas.

Merci d'avance.

54
Cody Keasberry

Une chaîne de caractères est aussi simple que

String str = "someString"; 
char[] charArray = str.toCharArray();

Pouvez-vous expliquer un peu plus sur ce que vous essayez de faire?

* Mise à jour *

si je comprends votre nouveau commentaire, vous pouvez utiliser un tableau d'octets et un exemple est fourni.

byte[] bytes = ByteBuffer.allocate(4).putInt(1695609641).array();

for (byte b : bytes) {
   System.out.format("0x%x ", b);
}

Avec la sortie suivante

0x65 0x10 0xf3 0x29

153
Kevin