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

Java 基礎必會:基本類型與包裝類、字串互轉完整指南(含自動裝箱/拆箱)

     編輯:Java 綜合教學

八大基本類型對應包裝類

基本類型包裝類備註
byteByte
shortShort
intInteger最常用
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

JDK 5+ 自動裝箱與拆箱

Integer i = 10;        // 自動裝箱:Integer.valueOf(10)
int n = i;             // 自動拆箱:i.intValue()
List list = new ArrayList<>();
list.add(100);         // 裝箱
int x = list.get(0);   // 拆箱

本質:編譯器語法糖,分別調用 valueOf() 與 xxxValue()。

基本類型 ⇄ 字串 轉換大全

基本類型 → 字串

// 方式 1:String.valueOf()(推薦,null 安全)
String s1 = String.valueOf(123);
String s2 = String.valueOf(true);

// 方式 2:包裝類 toString()
String s3 = Integer.toString(456);

// 方式 3:連接空字串(效能稍差)
String s4 = 789 + "";

字串 → 基本類型

// 包裝類 parseXxx(拋 NumberFormatException)
int a = Integer.parseInt("123");
double b = Double.parseDouble("3.14");
boolean c = Boolean.parseBoolean("true");

// 包裝類 valueOf → 拆箱
Integer obj = Integer.valueOf("456");
int d = obj; // 自動拆箱

進階:Integer 緩存機制

Integer a = 127, b = 127;  // 緩存區 [-128, 127] 同一物件 → a == b 為 true
Integer c = 128, d = 128;  // 新建物件 → c == d 為 false
// 比較值永遠用 equals()

常見陷阱與最佳實踐

  • 拆箱空指針:Integer obj = null; int n = obj; → NPE。使用前判空或用 Optional。
  • 字串格式化:String.format("%,d", 1000000) → "1,000,000"。
  • 進制轉換:Integer.toBinaryString(10) → "1010";Integer.parseInt("FF", 16) → 255。
  • 大數值:超出 long 範圍改用 BigInteger/BigDecimal。

總結表

方向核心 API注意點
基本 → 字串String.valueOf()null 安全,效能佳
字串 → 基本Integer.parseInt() 等異常處理,避免空指針
裝箱/拆箱自動(JDK 5+)緩存範圍、NPE 風險
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved