造型(Cast)意為「與一個模型匹配」。Java 會在適當時機自動轉換類型(如 int → float),但開發者可透過造型明確指定或強制進行轉換。語法:(目標類型)值。
void casts() {
int i = 200;
long l = (long)i; // 變量造型
long l2 = (long)200; // 數值造型
}
編譯器通常能推斷字面值類型,但在模糊情況下需額外標識:
0x 或 0X 前綴(適用所有整數類型)0 前綴L 或 l 後綴F/f(float)、D/d(double)e 代表「10 的冪次」(非自然對數底 e),如 1.39e-47f = 1.39×10-47char、byte、short 參與運算前會自動提升為 int,結果也是 int。賦值回原類型需明確造型(縮小轉換,可能丟失資訊)。
float × double → doubleint + long → longboolean 完全不可造型。物件間造型需遵循繼承體系(如 Oak → Tree),無關類別(如 Rock → Tree)無法造型。