当前位置:  技术问答>CSDN有搞BEA WEBLOGIC相关的兄弟吗? iis7站长之家

那位兄弟帮我讲解一下Enumeration到底是什么?

    来源: 互联网  发布时间:2015-01-24

    本文导语:  在java程序中经常看到Enumeration这个东东. 看帮助好像只有两个方法. hasMoreElements() 和 nextElement()   也好像是个虚函数. 可我在java程序中看到Enumeration到处飞, 可以当成一个类型来使用,也可以容纳其他(比如:Vector)类型的...

在java程序中经常看到Enumeration这个东东.
看帮助好像只有两个方法.
hasMoreElements() 和 nextElement()  
也好像是个虚函数.
可我在java程序中看到Enumeration到处飞,
可以当成一个类型来使用,也可以容纳其他(比如:Vector)类型的数据
请解惑!谢谢!

|
Enumeration这是一个接口,你在Vector等类中看到直接使用它,是因为这些类都直接或间接实现了这个接口(大部分是以内类来实现的)
自已可以这样来实现
public final class TStringList
{
private Vector FVec;

public TStringList()
{
  FVec=new Vector (10,5);
}

public Enumeration elements()
{
return new TSLEnum (FVec);
}

  final class TSLEnum  implements Enumeration
  {
    private Vector FVec;
    private int FCurPos;
   public TSLEnum(Vector v)
  {
  FVec=v;
   FCurPos=0;
  }

   public void ResetCurPos()
  {
  FCurPos=0;
   }

  public boolean hasMoreElements()
    {
      if(FVec.size ()>FCurPos)
      return true;
    else
   return false;
   }

  public  Object nextElement()
   {
     Object obj=FVec.elementAt (FCurPos);
  FCurPos++;
   return obj;
   }
  }
}

|
这是JDK1.2之前的接口类,主要是用于枚举对象,例如:树的遍历得到的就是Enumeration类型的结果集,可以看做是一个集合容器,当你需要的时候,可以通过其方法nextElement()取得集合容器里的具体对象元素,用hasMoreElements()方法来查询集合容器里是否还有元素对象。
举个例子:
DefaultMutableTreeNodel root=...;//root是JTree视图的根节点
Enumeration df=root.breadthFirstEnumeration(); //prior to breadth search
while(df.hasMoreElements()){
    node=(DefaultMutableTreeNode)df.nextElement();
    //process your action
}

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 各为兄弟,小弟落伍,不知哪有jbuilder 6 企业版下载,兄弟们帮忙!!!
  • 谢谢水园的兄弟(三)
  • jquery的父子兄弟节点查找示例代码
  • anubis 兄弟请你帮忙了
  • 对JAVA版的兄弟大声喊 “ 求EJB开发捷径 ~~~~~~~~~~~~!”
  • 【● LINUX下有没有消息或事件驱动?如何取得呢?谢谢各位兄弟!
  • 哪位高手能替兄弟解释一下,Struts是怎么回事?
  • yankee(歪诗闲人)进来领分!!!你的回贴救了兄弟的命,
  • CSDN有搞BEA WEBLOGIC相关的兄弟吗?
  • 兄弟们,谁有freenet的源代码呀??
  • 希望兄弟问给指条明路(200分)
  • linuxnewer(夜猫子) 等兄弟接分1
  • 我想了解一下Red Hat的rche认证,兄弟贡献一把资料吧。
  • grub老问题麻烦兄弟
  • 有在联想开天4600上成功安装redhat linux 7.3的兄弟么?
  • 那位兄弟知道那有Jrun studio4.0下载吗?
  • 兄弟的LINUX练习问题,请帮忙,分数可以商量!
  • 哪位兄弟知道有关QT的资料可以下,,谢谢!
  • 那位兄弟有style report enterprise 4.4 的注册码或者注册机,急需!
  • 哪位兄弟有SCO的telnetd的c语言源码,或是有下载的地址?谢谢!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3