Java Language Coulée primitive non numérique


Exemple

Le type boolean ne peut être converti en / à partir d'aucun autre type primitif.

Une char peut être coulé à / de tout type numérique en utilisant les mises en correspondance de point de code spécifié par Unicode. Une char est représenté dans la mémoire en tant que valeur non signé Entier 16 bits (2 octets), de sorte que la coulée d' byte (1 octet) va baisser 8 de ces bits (ce qui est sans danger pour les caractères ASCII). Les méthodes utilitaires de la classe Character utilisent int (4 octets) pour transférer vers / des valeurs de point de code, mais un short (2 octets) suffirait également pour stocker un point de code Unicode.

int badInt   = (int)  true; // Compiler error: incompatible types

char char1   = (char)   65; // A
byte byte1   = (byte)  'A'; // 65
short short1 = (short) 'A'; // 65
int int1     = (int)   'A'; // 65

char char2   = (char) 8253; // ‽
byte byte2   = (byte)  '‽'; // 61 (truncated code-point into the ASCII range)
short short2 = (short) '‽'; // 8253
int int2     = (int)   '‽'; // 8253