基本型別 → 字串
| 轉換 | 標準寫法 | 替代寫法 |
| int → String | Integer.toString(i) | "" + i |
| double → String | Double.toString(d) | - |
| long → String | Long.toString(l) | - |
| float → String | Float.toString(f) | - |
字串 → 基本型別
| 轉換 | 推薦寫法 | 替代寫法 |
| String → int | Integer.parseInt(str) | Integer.valueOf(str).intValue() |
| String → double | Double.parseDouble(str) | Double.valueOf(str).doubleValue() |
| String → long | Long.parseLong(str) | Long.valueOf(str).longValue() |
| String → float | Float.parseFloat(str) | Float.valueOf(str).floatValue() |
進制轉換
| 轉換 | 程式碼 |
| 十進制 → 二進制字串 | Integer.toBinaryString(42) → "101010" |
| 十進制 → 十六進制字串 | Integer.toHexString(42) 或 Integer.toString(42, 16) |
| 十六進制字串 → int | Integer.parseInt("B8DA3", 16) 或 Integer.valueOf("B8DA3", 16).intValue() |
ASCII / 字元互轉
| 轉換 | 程式碼 |
| ASCII 碼 → 字元字串 | new Character((char) 64).toString() → "@" |
| 字元 → ASCII 整數 | int i = (int) 'A'; → 65 |
| 字串逐字元取 ASCII | String test = "ABCD";
for (int i = 0; i < test.length(); i++) {
char c = test.charAt(i);
System.out.println((int) c);
}
|
布林與整數互轉
| 轉換 | 程式碼 |
| int → boolean | boolean b = (i != 0); |
| boolean → int | int i = b ? 1 : 0; |
異常處理最佳實務
try {
int i = Integer.parseInt(aString);
} catch (NumberFormatException e) {
// 處理非法數字格式
}
提示:parseXxx 系列拋出 NumberFormatException,valueOf 同樣會拋出,建議統一使用 parseXxx 並包裝 try-catch。