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

Enumeration (枚舉/迭代器) 進階:解耦遍歷邏輯與底層結構

     編輯:Java 相關知識

核心價值:關注點分離

Enumeration 將「穿越序列」操作與「序列底層結構」完全解耦。客戶代碼只需依賴 Enumeration 介面,無需知道底層是 Vector、Hashtable 還是其他集合。

實戰範例:通用列印工具

class PrintData {
    static void print(Enumeration e) {
        while (e.hasMoreElements())
            System.out.println(e.nextElement().toString());
    }
}

// 使用端
Vector v = new Vector(); v.addElement(new Mouse(i));
Hashtable h = new Hashtable(); h.put(new Integer(i), new Hamster(i));
PrintData.print(v.elements());
PrintData.print(h.elements());

PrintData.print() 完全不知底層集合型別,只調用 toString() (Object 方法)。

型別安全與下溯造型

若需調用特定方法 (如 Shape.draw()),必須從 nextElement() 返回的 Object 下溯造型:

Shape s = (Shape) e.nextElement();
s.draw();

這是 Java 1.2 泛型引入前的通用模式,也是理解現代 Iterator 泛型設計的基礎。

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