首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java 常見資料類型轉換完全指南:從基礎到實戰

     編輯:Java 程式設計入門

前言

在 Java 開發中,資料類型轉換是基礎且高頻的操作。無論是基本類型之間的轉換,還是基本類型與字串、包裝類別的互轉,掌握正確的方法能避免許多隱性錯誤。本文系統整理了 10 種常見轉換場景,提供標準寫法與注意事項,助你寫出更健壯的程式碼。

一、基本類型之間的轉換

1. short → int(自動擴寬轉換)

int 佔用 4 位元組,short 佔用 2 位元組,屬於擴寬轉換,編譯器自動完成,無需強制轉型。

short shortVar = 100;
int intVar = shortVar; // 自動轉換

2. int → short(窄化轉換,需強制轉型)

可能導致資料截斷,必須顯式造型,且需確認數值在 short 範圍內(-32,768 ~ 32,767)。

int intVar = 50000;
short shortVar = (short) intVar; // 強制轉型,可能溢位

二、基本類型 → String

推薦使用 String.valueOf(),它是靜態方法,能安全處理 null,且效能優於串連空字串("" + value)。

3. int → String

int num = 42;
String str = String.valueOf(num); // "42"

4. float → String

float f = 3.14f;
String str = String.valueOf(f); // "3.14"

5. double → String

double d = 3.1415926535;
String str = String.valueOf(d); // "3.1415926535"

6. char → String

char c = 'A';
String str = String.valueOf(c); // "A"

三、String → 基本類型 / 包裝類別

核心方法為各包裝類別的 parseXxx() 或 valueOf()。注意:轉換失敗會拋出 NumberFormatException,實務上必須用 try-catch 捕捉。

7. String → int / float / long / double

String intStr = "10";
String floatStr = "10.5";
String longStr = "99999999";
String doubleStr = "99999999.99";

int i = Integer.parseInt(intStr);
float f = Float.parseFloat(floatStr); // 修正:原文誤用 Integer.parseInt
long l = Long.parseLong(longStr);     // 修正:原文誤用 long.parseInt
double d = Double.parseDouble(doubleStr); // 修正:原文誤用 double.parseInt

8. String → byte / short

String s = "100";
byte b = Byte.parseByte(s);
short sh = Short.parseShort(s);

9. String → char

字串無直接轉 char 方法,需取字元陣列或 charAt()。

String s = "abc";
char c = s.charAt(0); // 'a'

10. String → boolean

只有 "true"(不區分大小寫)回傳 true,其餘皆為 false,不拋出例外。

String s = "true";
boolean flag = Boolean.parseBoolean(s); // 推薦用 parseBoolean,回傳基本型別
// 或 Boolean.valueOf(s) 回傳包裝型別 Boolean

實戰提醒

  • 異常處理:所有 parseXxx 皆可能拋出 NumberFormatException,生產環境務必包裝 try-catch。
  • 進制轉換:Integer.parseInt(str, 16) 可解析十六進位字串。
  • 效能:頻繁轉換時,考慮重用 StringBuilder 或直接操作基本型別,減少物件建立。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved