J2SE 5.0 (內部版本 1.5.0,代號 Tiger) 於 2004 年發布,是 Java 語言誕生以來語法層面變動最大的版本,引入 15 個核心 JSR 與近百項增強,核心目標:**提升開發效率、型別安全、執行效能與監控能力**。
| 特性 | JSR | 核心價值 | 代碼範例 |
|---|---|---|---|
| 泛型 | JSR 14 | 編譯期型別安全,消除強制轉型 | List |
| 增強 for 迴圈 | JSR 201 | 簡化集合/陣列遍歷 | for (String s : list) { ... } |
| 自動裝箱/拆箱 | JSR 201 | 基本型別與包裝類無縫轉換 | Integer i = 10; int j = i; // 編譯器自動插入 valueOf/intValue |
| 枚舉型別 | JSR 201 | 型別安全的常數集合,支援方法/介面 | enum Season { SPRING, SUMMER, AUTUMN, WINTER } |
| 靜態匯入 | JSR 201 | 直接使用靜態成員,無需類名限定 | import static java.lang.Math.*; double r = sqrt(2); |
| 可變參數 | JSR 201 | 替代陣列參數,呼叫更自然 | void print(String... msgs) { for (String m : msgs) out.println(m); } |
| 註解 | JSR 175 | 元資料程式化,支援編譯期/運行期處理 | @Override @Deprecated @SuppressWarnings("unchecked") |
| 格式化 I/O (printf) | JSR 201 | C 風格格式化字串 | System.out.printf("%,.2f%%%n", 1234.567); // 1,234.57% |
| 領域 | 更新 |
|---|---|
| XML | JAXP 1.3 (XPath、XInclude、Schema 驗證)、SAX 2.0.2、DOM Level 3 |
| JDBC | JDBC 3.0 → 4.0 預覽:`RowSet` 子介面 (`CachedRowSet`、`JdbcRowSet`、`WebRowSet`)、連線池標準化 `DataSource` |
| 字元補充 | 支援 Unicode 4.0 輔助平面 (32-bit `char` 配對),`Character.codePointAt`、`String.codePointCount` |
Tiger 確立了「現代 Java」的語法基石:泛型讓集合框架型別安全,註解啟動了 Spring/Hibernate/JPA 等框架的聲明式開發時代,`java.util.concurrent` 奠定高併發編程標準。雖 Java 8/11/17/21 持續演進,**Tiger 的核心語法特性至今仍是日常開發的主力工具**。