Maison >Java >javaDidacticiel >Pourquoi l'ajout de deux caractères Java donne-t-il un entier ?
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 :
'a' + "" + 'b'
"" + 'a' + 'b'
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!