Maison >Java >javaDidacticiel >Pourquoi l'ajout de deux caractères Java donne-t-il un entier ?

Pourquoi l'ajout de deux caractères Java donne-t-il un entier ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-14 01:56:10887parcourir

Why Does Adding Two Java Chars Result in an Integer?

Ajout de caractères Java : Int ou résultat du char ?

Lors de l'ajout de deux caractères (« a » « b ») en Java, cela peut semble surprenant que le résultat soit un int (195). Cela est dû aux règles de promotion numérique binaire de Java.

Promotion numérique binaire

Selon la spécification du langage Java, lors de l'ajout de caractères, de courts-circuits ou d'octets Java, le résultat est promu int. Ceci est conçu pour éviter toute perte de précision lorsque vous travaillez avec des types de données plus petits.

Cas particulier : affectation composée

Cependant, il existe une exception pour les opérateurs d'affectation composée comme =. Dans ce cas, le résultat de l'opération est converti au type de la variable de gauche.

Détermination du type de résultat

Une façon de déterminer le type de le résultat est de le convertir en Object et de vérifier sa classe :

System.out.println(((Object)('a' + 'b')).getClass()); // Outputs: class java.lang.Integer

Char Concaténation

Si vous avez l'intention de concaténer des caractères sous forme de chaîne plutôt que d'entier, il existe différentes manières de le faire :

  • Ajouter une chaîne vide :
'a' + "" + 'b'
  • Ajouter une chaîne vide à la début :
"" + 'a' + 'b'
  • Utilisez un StringBuilder ou un String.format :
new StringBuilder().append('a').append('b').toString()
String.format("%c%c", 'a', 'b')

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn