非數字原始投射

boolean 型別不能轉換為任何其他基本型別。

通過使用 Unicode 指定的程式碼點對映,可以將 char 強制轉換為任何數字型別。char 在記憶體中表示為無符號的 16 位整數值(2 個位元組),因此轉換為 byte(1 個位元組)將丟棄其中的 8 個位(這對於 ASCII 字元是安全的)。Character 類的實用方法使用 int(4 位元組)傳輸到/從程式碼點值傳輸,但是 short(2 位元組)也足以儲存 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