麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

再論枚舉器

2019-11-18 13:22:22
字體:
來源:轉載
供稿:網友

  我們現在可以開始演示Enumeration(枚舉)的真正威力:將穿越一個序列的操作與那個序列的基礎結構分隔開。在下面的例子里,PRintData類用一個Enumeration在一個序列中移動,并為每個對象都調用toString()方法。此時創建了兩個不同類型的集合:一個Vector和一個Hashtable。并且在它們里面分別填充Mouse和Hamster對象(本章早些時候已定義了這些類;注重必須先編譯HamsterMaze.java和WorksAnyway.java,否則下面的程序不能編譯)。由于Enumeration隱藏了基層集合的結構,所以PrintData不知道或者不關心Enumeration來自于什么類型的集合:
  
  //: Enumerators2.java
  // Revisiting Enumerations
  import java.util.*;
  
  class PrintData {
   static void print(Enumeration e) {
    while(e.hasMoreElements())
     System.out.println(
      e.nextElement().toString());
   }
  }
  
  class Enumerators2 {
   public static void main(String[] args) {
    Vector v = new Vector();
    for(int i = 0; i < 5; i++)
     v.addElement(new Mouse(i));
  
    Hashtable h = new Hashtable();
    for(int i = 0; i < 5; i++)
     h.put(new Integer(i), new Hamster(i));
  
    System.out.println("Vector");
    PrintData.print(v.elements());
    System.out.println("Hashtable");
    PrintData.print(h.elements());
   }
  } ///:~
  
  注重PrintData.print()利用了這些集合中的對象屬于Object類這一事實,所以它調用了toString()。但在解決自己的實際問題時,經常都要保證自己的Enumeration穿越某種特定類型的集合。例如,可能要求集合中的所有元素都是一個Shape(幾何外形),并含有draw()方法。若出現這種情況,必須從Enumeration.nextElement()返回的Object進行下溯造型,以便產生一個Shape。

上一篇:Java中的排序

下一篇:Java中的Hashtable

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品一区二区三区毛片 | 久久久久久久久久久久久国产精品 | 国产人成精品一区二区三 | 日本一区二区不卡在线观看 | 羞羞的视频在线 | 成人黄色短视频在线观看 | 欧美日韩爱爱视频 | 毛片在哪看 | 综合日韩欧美 | 国产91精品一区二区麻豆亚洲 | 特级a欧美做爰片毛片 | 亚洲片在线观看 | 毛片免费观看视频 | 96视频在线免费观看 | 欧美亚洲国产成人 | 九色 在线| 日韩av成人 | 国产精品夜色视频一级区 | 曰韩av在线 | 中国女警察一级毛片视频 | 欧洲黄色一级视频 | 亚洲码无人客一区二区三区 | 一级黄色片武则天 | 久久精品视频首页 | 色吧久久 | 久久精品a一级国产免视看成人 | 久久精品在线免费观看 | 久久久久亚洲精品国产 | 精品亚洲二区 | 国产一区二区在线免费播放 | 成人免费影院 | 国内一区 | 羞羞答答tv | 婷婷亚洲一区二区三区 | 久草手机在线 | 亚洲第五色综合网 | 国产精品久久久久久久模特 | 欧美三日本三级少妇三级99观看视频 | 久久影院国产精品 | 欧美精品成人一区二区在线观看 | 国产羞羞网站 |