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

Java 變數型別轉換完全指南:基本型別、包裝類、String 與 Date 互轉實戰

     編輯:Java 程式設計入門

掌握 Java 型別轉換核心規則,避開精度損失與空指針陷阱

Java 資料型別分為布林、字元、數值(整數/浮點數)三大類,對應八種基本型別。實務開發中頻繁面臨型別轉換需求,本文系統整理六大轉換場景與最佳實踐。

一、基本數值型別間的轉換

型別階層:byte, short, char → int → long → float → double

  • 自動擴型(向上轉型):低階 → 高階,直接賦值,安全無損失。int i = b; // byte b
  • 強制縮型(向下轉型):高階 → 低階,需強制轉型 (byte)i,可能溢位或精度損失,非必要不建議使用。

二、包裝類別與基本型別雙向轉換

六大包裝類:Boolean, Character, Integer, Long, Float, Double

  • 基本 → 包裝:建構子 new Integer(10) 或靜態工廠 Integer.valueOf(10)(推薦,支援快取)。
  • 包裝 → 基本:xxxValue() 方法,如 intValue()、doubleValue()。亦可跨型別取值,如 Double 物件取 intValue()。

三、String 與數值/日期型別互轉

  • String → 數值/布林:包裝類建構子 new Integer("123") 或靜態 parseXxx("123")(推薦,不建立物件)。
  • String → Date:new Date(String) 或 SimpleDateFormat 解析(生產環境強烈建議後者)。
  • String ↔ char[]:toCharArray()、charAt(index)、new String(char[])。
  • 數值/日期 → String:通用 toString();整數尚有 toBinaryString()、toHexString()、toOctalString();日期建議用 SimpleDateFormat 格式化。

四、字元字面值與數值語義轉換

'1' 字元轉數值 1(非 ASCII 49),使用 Character.getNumericValue('1') 返回 1。

五、Date 與數值/字串互轉

  • Date ↔ 長整數:new Date(long ms) 與 getTime(),毫秒數基準為 GMT 1970-01-01 00:00:00。
  • Date ↔ 年月日時分秒:多參數建構子與 getYear()、getMonth() 等(注意:月份 0-11,年份為 1900 起算,建議改用 Calendar)。
  • Date → String:toString() 或 SimpleDateFormat。

六、避坑指南

  • 基本型別轉包裝類優先用 valueOf() 利用快取減少物件建立。
  • 字串解析數值用 parseXxx() 避免多餘物件。
  • 日期格式化/解析務必使用 SimpleDateFormat 指定模式,避免預設格式跨平台不一致。
  • 向下強轉前先檢查範圍,防止靜默資料損壞。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved