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

JDK 1.5 新特性實戰體驗:泛型、自動裝箱、枚舉、靜態導入、printf 與並發包

     編輯:Java 程式設計入門

開發環境

NetBeans 4.0 Beta 2 + JDK 1.5,展示核心語法糖與 java.util.concurrent 並發包威力。

核心新特性程式碼巡禮

1. 泛型

List<String> list = new ArrayList<String>();
list.add("1"); list.add("first");
for (String s : list) { System.out.println(s); }  // 增強 for 迴圈

2. 自動裝箱/拆箱

Vector v = new Vector();
v.add(23);  // int → Integer 自動裝箱
for (int i : v) { System.out.println(i); }  // Integer → int 自動拆箱

3. 增強 for 迴圈支援 Map

HashMap map = new HashMap();
map.put("key1", 23);
for (String key : map.keySet()) { System.out.println(key); }

4. 靜態導入

import static test.Constants.FIRST;
System.out.println(FIRST);  // 直接使用常數,無需類別前綴

5. printf 格式化輸出

System.out.printf("%2$s %1$d ", new Integer(1), "str");  // 輸出: str 1

6. 類型安全枚舉

public static enum FirstEnum { ONE, TWO }
for (FirstEnum fe : FirstEnum.values()) { System.out.println(fe); }

7. 並發包 Executor 框架

Executor exec = Executors.newFixedThreadPool(5);
for (int i = 0; i < 50; i++) {
    exec.execute(new Runnable() {
        public void run() {
            int cur;
            synchronized (lock) { cur = count++; }
            System.out.println(cur + " running...");
            try { Thread.sleep(2000); } catch (Exception e) { e.printStackTrace(); }
            System.out.println(cur + " end...");
            if (cur == 49) System.exit(0);
        }
    });
}
// 關閉鉤子
Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() { System.out.println("program end."); }
});

亮點:ExecutorService 管理線程池,避免手動管理線程生命週期;shutdownHook 確保優雅關閉。

小結

JDK 1.5 透過語法糖(泛型、枚舉、自動裝箱、靜態導入、增強 for、printf)大幅提升開發效率與程式碼可讀性;java.util.concurrent 提供工業級並發工具,徹底改寫多執行緒開發範式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved