114 votes

Convertir int en char en java

Cela a probablement répondu où d’autre mais comment obtenez-vous la valeur de caractère d’une valeur int ?

Plus précisément, je lis une d’un flux tcp et les lecteurs .read() méthode retourne un int.

Comment puis-je obtenir un char de cela ?

144voto

ATorras Points 2082

Peut-être vous demandez :

Plus d’informations : http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Character.html#toChars (int)

105voto

Lovubuntu Points 521

Cela dépend de ce que vous entendez par « convertir un int en char ».

Si vous souhaitez simplement vous castez la valeur de l’int, vous pouvez le convertir en utilisant la notation transtypage de Java :

Si vous voulez dire l’entier 1 Comment transformer le caractère '1', vous pouvez le faire comme ceci :

74voto

Jon Skeet Points 692016

Si vous essayez de convertir un flux de données en texte, vous devez être conscient de ce qui l'encodage que vous souhaitez utiliser. Vous pouvez ensuite passer un tableau d'octets dans l' String constructeur et de fournir un Charset, ou utiliser InputStreamReader avec le cas échéant Charset à la place.

Tout simplement de la conversion de int de char ne fonctionne que si vous voulez ISO-8859-1, si vous êtes en train de lire des octets à partir d'un flux directement.

EDIT: Si vous êtes déjà à l'aide d'un Reader, puis la coulée de la valeur de retour de l' read() de char est la bonne façon de faire (après avoir vérifié que c'est -1 ou pas)... mais il est généralement plus efficace et commode d'appeler read(char[], int, int) de lire un bloc de texte à la fois. N'oubliez pas de vérifier la valeur de retour bien que, pour voir combien de caractères ont été lus.

29voto

Ryan Anderson Points 101

Si vous voulez simplement convertir int 5 à char '5' : (uniquement pour les entiers 0 - 9)

8voto

Yuval Adam Points 59423

Moulage simple :

Y a-t-il une raison que cela ne fonctionne pas pour vous ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X