轉換基元
在 Java 中,我們可以在整數值和浮點值之間進行轉換。此外,由於每個字元對應於 Unicode 編碼中的數字,因此可以將 char
型別轉換為整數和浮點型別。boolean
是唯一無法轉換為任何其他原始資料型別的原始資料型別。
轉換有兩種型別: 擴充套件轉換和縮小轉換。
一個擴大轉換是當一個資料型別的值被轉換為佔據比前者更位元其它資料型別的值。在這種情況下,沒有資料丟失的問題。
相應地,縮小轉換是指將一種資料型別的值轉換為佔用比前者少的位的另一種資料型別的值。在這種情況下可能會發生資料丟失。
Java 會自動執行擴充套件轉換。但是,如果要執行縮小轉換 (如果你確定不會發生資料丟失),則可以使用稱為 cast
的語言構造強制 Java 執行轉換。
擴大轉換:
int a = 1;
double d = a; // valid conversion to double, no cast needed (widening)
縮小轉換率:
double d = 18.96
int b = d; // invalid conversion to int, will throw a compile-time error
int b = (int) d; // valid conversion to int, but result is truncated (gets rounded down)
// This is type-casting
// Now, b = 18