2024年10月enumeration类(Java Vector与Enumeration类)

 更新时间:2024-10-12

  ⑴enumeration类(JavaVector与Enumeration类

  ⑵JavaVector与Enumeration类

  ⑶报这种注意是不会影响运行结果的,主要是你的jdk是用的.版本而.的集合创建方式与.的有些不同.中引入了泛型所以你把代码改为:ArrayList《Object》al=newArrayList《Object》();就可以了你试试吧

  ⑷Enumeration和Iterator是接口类,为什么能产生对象

  ⑸可以这样理解,按照JavaAPI文档的说法,接口有类实现、对象实现的区别。类实现,例如Runnable,是一个类通过implements引用Runnable接口实现的。此时,比如(Thread)t=newThread(this),按字面义API文档上说明this应该是Runnable接口,但实际上应当理解为this是这个实现了Runnable接口的类,一个实现了run()方法的类。如果上面的逻辑通顺,那么对应的,接口的对象实现,比如Enumeratione=(Vectorv.elements(),e是一个引用了Enumeration接口的对象,而不应该是Enumeration这个接口产生的对象。PS:以上也是些个人理解,因为这也是我思考过一段时间的问题。。。抛砖引玉嘛,期待能有更权威的解释-_-

  ⑹javaEnumeration这个类重要吗

  ⑺Enumeration接口Enumeration接口本身不是一个数据结构。但是,对其他数据结构非常重要。Enumeration接口定义了从一个数据结构得到连续数据的手段。例如,Enumeration定义了一个名为nextElement的方法,可以用来从含有多个元素的数据结构中得到的下一个元素。Enumeration接口提供了一套标准的方法,由于Enumeration是一个接口,它的角色局限于为数据结构提供方法协议。下面是一个使用的例子://eisanobjectthatimplementstheEnumerationinterfacewhile(e.hasMoreElements()){Objecto=e.nextElement();System.out.println(o);}实现该接口的对象由一系列的元素组成,可以连续地调用nextElement()方法来得到Enumeration枚举对象中的元素。Enumertion接口中仅定义了下面两个方法。·booleanhasMoreElemerts()测试Enumeration枚举对象中是否还含有元素,如果返回true,则表示还含有至少一个的元素。·ObjectnextElement()如果Bnumeration枚举对象还含有元素,该方法得到对象中的下一个元素。【例】/**(#)DemoEnumeration.java*演示Enumeration接口的使用*/importjava.util.*;classDemoEnumeration{publicstaticvoidmain(Stringargs){//实例化MyDataStruct类型的对象MyDataStructmySataStruct=newmyDataStruct();//得到描述myDataStruct类型对象的enumeration对象EnumerationmyEnumeration=myDataStruct.getEnum();//使用对象循环显示myDataStruct类型的对象中的每一个元素while(myEnumeration.hasMoreElements())System.out.println(myEnumeration.nextElement());}}//MyEnumeration类实现Enumeration接口classMyEnumeratorimplementsEnumeration{intcount;//计数器intlength;//存储的数组的长度objectdataArray;//存储数据数组的引用//构造器MyEnumeration(intcount,intlength,objectdataArray){this.count=count;this.length=length;this.dataArray=dataArray;}publicbooleanhasMoreElements(){return(count《length);}publicObjectnextElement(){returndataArray;}}//MyDataStruct类用于实例化一个简单的、可以提供enumeration对象//给使用程序的数据结果对象classMyDataSttuct{Stringdata;//构造器MyDataStruct(){data=newStringdata=“zero“;data=“one“;data=“two“;data=“three“;}//返回一个enumeration对象给使用程序EnumerationgetEnum(){returnnewMyEnumeration(,data.length,data);}程序的运行结果为:zeroowothree

  ⑻问题一:枚举是什么意思?枚举简单的说也是一种数据类型,只不过是这种数据类型只包含自定义的特定数据,它是一组有共同特性的数据的***。举个例子,颜色也可以定义成枚举类型,它可以包含你定义的任何颜色,当需丁的时候,只需要通过枚举调用即可,另外比如说季节(春夏秋冬、星期(星期一到星期日等等这些具有共同投特征的数据都可以定义枚举。问题二:枚举类型是什么意思一般的定义方式如下:enumenum_type_name{ENUM_CONST_,ENUM_CONST_,...ENUM_CONST_n}enum_variable_name;注意:enum_type_name是自定义的一种数据数据类型名,而enum_variable_name为enum_type_name类型的一个变量,也就是我们平时常说的枚举变量。实际上enum_type_name类型是对一个变量取值范围的限定,而花括号内是它的取值范围,即enum_type_name类型的变量enum_variable_name只能取值为花括号内的任何一个值,如果赋给该类型变量的值不在列表中,则会报错或者警告。ENUM_CONST_、ENUM_CONST_、...、ENUM_CONST_n,这些成员都是常量,也就是我们平时所说的枚举常量(常量一般用大写。enum变量类型还可以给其中的常量符号赋值,如果不赋值则会从被赋初值的那个常量开始依次加,如果都没有赋值,它们的值从开始依次递增。下面举个例子:如分别用一个常数表示不同颜色enumColor{GREEN=,RED,BLUE,GREEN_RED骸=,GREEN_BLUE}ColorVal;其中各常量名代表的数值分别为:GREEN=RED=BLUE=GREEN_RED=GREEN_BLUE=内容应该说的差不多了。问题三:枚举是什么意思“枚举窗口”、“枚举进程”之类的词中,枚举的意思就是遍历列举。这两个词也就是列举出所有的窗口场所有运行的进程的意思。作为一种数据结构,枚举用一组标识符来表示常数。问题四:什么是枚举????枚举.枚举(enumeration)值类型的一种特殊形式,它从System.Enum继承,并为基础基元类型的值提供备用名称。枚举类型有名称、基础类型和一组字段。基础类型必须是一个内置的有符号(或无符号整数类型(如Byte、Int或UInt。字段是静态文本字段,其中的每一个字段都表示常龚。所使用的语言给每个字段都分配一个基础类型的特定值。.枚举(enum)枚举是一个被命名的整型常数的***,枚举在日常生活中很常见。例如表示星期的SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,就是一个枚举。枚举的说明与结构和联合相似,其形式为:enum枚举名{标识符,标识符,...标识符,}枚举变量;如果枚举没有初始化,即省掉=整型常数时,则从第一个标识符开始,顺次赋给标识符,,,...。但当枚举中的某个成员赋值后,其后的成员按依次加的规则确定其值。例如下列枚举说明后,x,x,x,x的值分别为,,,。enumstring{x,x,x,x}x;当定义改变成:enumstring{x,x=,x=,x,}x;则x=,x=,x=,x=注意:.枚举中每个成员(标识符)结束符是,,不是;,最后一个成员可省略,。.初始化时可以赋负数,以后的标识符仍依次加。.枚举变量只能取枚举说明结构中的某个标识符常量。例如:enumstring{x=,x,x,x,};enumstrigx=x;此时,枚举变量x实际上是。.枚举(pascal)随着计算机的不断普及,程序不仅只用于数值计算,还更广泛地用于处理非数值的数据。例如:性别、月份、星期几、颜色、单位名、学历、职业等,都不是数值数据。在其它程序设计语言中,一般用一个数值来代表某一状态,这种处理方法不直观,易读性差。如果能在程序中用自然语言中有相应含义的单词来代表某一状态,则程序就很容易阅读和理解。也就是说,事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型。问题五:java中枚举用来干什么的?枚举是该类型的一个实例,相当于staticfinal类型的变量,可用于switch中,枚举类:package.golden.test;publicenumOperation{/**增*/INSERT,/**删*/DELETE,/**改*/UPDATE,/**查*/QUERY}测试类package.golden.test;publilassTestEnum{publicstaticvoidmain(Stringargs){System.out.println(Operation.DELETE);System.out.println(Operation.valueOf(DELETE));System.out.println(Operation.valueOf(DELETE)==Operation.DELETE);System.out.println(DELETE.equals(Operation.DELETE.toString()));switch(Operation.DELETE){caseINSERT:/**TODO*/break;caseDELETE:/**TODO*/System.out.println(DELETE...);break;caseUPDATE:/**TODO*/break;caseQUERY:/**TODO*/break;default:break;}}}问题六:枚举值是什么意思一、类型定义类型定义的语法格式:type=;=;……=;二、枚举类型通过预定义列出所有值的标识符来定义一个有序***,这些值的次序和枚举类型说明中的标识符的次序是一致的。枚举类型的形式:(标识符,……,标识符n)例如:typedaystype=(sunday,monday,tuesday,wednesday,thursday,friday,saturday)枚举元素只能是标识符,而不能是数值常量或字符常量。例如以下的定义是错误的:typedaystype=(’sun’,’mon’,’tue’,’wed’,’thu’,’fri’,’sat’)枚举元素是标识符,不要把作为枚举元素的标识符视作变量名,它不能被赋值。同一个枚举元素不能出现在两个或两个以上的枚举类型定义中。例如以下的定义是错误的:typedaytype=(monday,tuesday);daytype=(monday,wednesday);可以将枚举类型的定义和变量的定义结合在一起。例如:vara:(monday,tuesday,sunday)枚举类型属于顺序类型。根据定义类型时各枚举元素的排列顺序确定它们的序列,序列号从开始例如:已经定义daystypeord(sunday)=,su(sunday)=monday,pred(friday)=thursday但是枚举类型中的第一个元素没有前趋,最后一个元素没有后继。TurboPascal不允许直接读写枚举值,所以枚举值的输出常用case语句间接的输出。枚举值的输入,则要一一判断读入字符是否是枚举类型的标识符。若是才能赋给枚举变量,否则就会出错。例如:枚举值的输出casedayofsunday:write(’sunday’);monday:write(’monday’);tuesday:write(’tuesday’);wednesday:write(’wednesday’);thursday:write(’thursday’);friday:write(’friday’);saturday:write(功saturday’);end;三、子界类型子界类型是由整型、字符型、枚举型、布尔型的两个常量指定该类型的值域区间。子界类型的形式:常量..常量两个常量必须是同一种顺序类型。例如:a..b,要求a》问题七:枚举是什么意思一个一个数问题八:c语言中的枚举型什么意思如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。所谓“枚举”是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。声明枚举类型用enum开头。例如enumweekday{sun,mon,tue,wed,thu,fri,sat};上面声明了一个枚举类型weekday,花括号中sun,mon,…,sat等称为枚举元素或枚举常量。表示这个类型的变量的值只能是以上个值之一。它们是用户自己定义的标识符。问题九:到底什么叫做“枚举数”枚举是一个被命名的整型常数的***,枚举在日常生活中很常见。例如表示星期的SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,就是一个枚举。枚举的说明与结构和联合相似,其形式为:enum枚举名{标识符,标识符,...标识符}枚举变量;如果枚举没有初始化,即省掉=整型常数时,则从第一个标识符开始,顺次赋给标识符,,,...。但当枚举中的某个成员赋值后,其后的成员按依次加的规则确定其值。如定义:publicenumDayOfWeek{Monday=,……Sunday=}

  ⑼关于Enumeration和Iterator的区别.

  ⑽比较:.Enumeration枚举接口其实是一个比Iterator迭代器接口更早期的枚举集合中的元素的接口。.Enumeration虽然可能过时而被Iterator替代,但很多servlet还用到,所以还有学习的必要。.迭代器允许调用方利用定义良好的语义在迭代期间从迭代器所指向的集合移除元素。.方法名称得到了改进。枚举(Enumeration接口是从以前版本遗留下来。在下面依次介绍Enumeration和每一种从以前版本遗留下来的类。Enumeration接口定义了可以对一个对象的类集中的元素进行枚举(一次获得一个的方法。这个接口尽管没有被摈弃,但已经被Iterator所替代。Enumeration对新程序来说是过时的。然而它仍被几种从以前版本遗留下来的类(例如Vector和Properties所定义的方法使用,被几种其他的API类所使用以及被目前广泛使用的应用程序所使用。Enumeration指定下面的两个方法:booleanhasMoreElements()ObjectnextElement()执行后,当仍有更多的元素可提取时,hasMoreElements()方法一定返回true。当所有元素都被枚举了,则返回false。nextElement()方法将枚举中的下一个对象做为一个类属Object的引用而返回。也就是每次调用nextElement()方法获得枚举中的下一个对象。调用例程必须将那个对象置为包含在枚举内的对象类型。对于Enumeration可以以Vector为例Vector里有很多对象,如果你要查看其中的所有对象,一个办法是用Vector的get(intindex)方法,不过这样效率比较低,另外一个方法是用Vector的elements()方法返回一个Enumeration对象,用Enumeration的hasMoreElements()方法向下移动并判断当前位置是否有对象,有则用nextElement()方法返回这个对象例如,打印vectorv中的所有对象:Enumeratione=v.elements()while(e.hasMoreElements()){System.out.println(e.nextElement());}另外还有个Iterator接口,和Enumeration是差不多的,不过名称比较短,通常推荐用Iterator对集合进行迭代的迭代器。迭代器代替了JavaCollectionsFramework中的Enumeration。Collections接口中定义了iterator方法,用于返回在此collection的元素上进行迭代的迭代器。Iterator是一个集合的迭代器,通过Iterator访问接口就就不用关心集合的实现.Iterator接口中定义了三个方法:.hasNext()是否还有下一个元素..next()返回下一个元素..remove()删除当前元素.只定义了简单的三个方法,这里要注意几点:)Iterator和Enumeration的区别Iterator是用来替代Enumeration的,Enumeration中只定义了两个方法,不具备删除功能.)调用next()方法后才可以调用remove()方法,而且每次调用next()后最多只能调用一次remove()方法,否则抛出IllegalStateException异常.

  ⑾javaenumeration类

  ⑿package.ljq.test;/***枚举用法详解**authorjiqinlin**/publilassTestEnum{/***普通枚举**authorjiqinlin**/publicenumColorEnum{red,green,yellow,blue;}/***枚举像普通的类一样可以添加属性和方法,可以为它添加静态和非静态的属性或方法**authorjiqinlin**/publicenumSeasonEnum{//注:枚举写在最前面,否则编译出错spring,summer,autumn,winter;privatefinalstaticStringposition=“test“;publicstaticSeasonEnumgetSeason(){if(“test“.equals(position))returnspring;elsereturnwinter;}}/***性别**实现带有构造器的枚举**authorjiqinlin**/publicenumGender{//通过括号赋值,而且必须带有一个参构造器和一个属性跟方法,否则编译出错//赋值必须都赋值或都不赋值,不能一部分赋值一部分不赋值;如果不赋值则不能写构造器,赋值编译也出错MAN(“MAN“),WOMEN(“WOMEN“);privatefinalStringvalue;//构造器默认也只能是private,从而保证构造函数只能在内部使用Gender(Stringvalue){this.value=value;}publicStringgetValue(){returnvalue;}}/***订单状态**实现带有抽象方法的枚举**authorjiqinlin**/publicenumOrderState{/**已取消*/CANCEL{publicStringgetName(){return“已取消“;}},/**待审核*/WAITCONFIRM{publicStringgetName(){return“待审核“;}},/**等待付款*/WAITPAYMENT{publicStringgetName(){return“等待付款“;}},/**正在配货*/ADMEASUREPRODUCT{publicStringgetName(){return“正在配货“;}},/**等待发货*/WAITDELIVER{publicStringgetName(){return“等待发货“;}},/**已发货*/DELIVERED{publicStringgetName(){return“已发货“;}},/**已收货*/RECEIVED{publicStringgetName(){return“已收货“;}};publicabstractStringgetName();}publicstaticvoidmain(Stringargs){//枚举是一种类型,用于定义变量,以限制变量的赋值;赋值时通过“枚举名.值”取得枚举中的值ColorEnumcolorEnum=ColorEnum.blue;switch(colorEnum){casered:System.out.println(“colorisred“);break;casegreen:System.out.println(“colorisgreen“);break;caseyellow:System.out.println(“colorisyellow“);break;caseblue:System.out.println(“colorisblue“);break;}//遍历枚举System.out.println(“遍历ColorEnum枚举中的值“);for(ColorEnumcolor:ColorEnum.values()){System.out.println(color);}//获取枚举的个数System.out.println(“ColorEnum枚举中的值有“+ColorEnum.values().length+“个“);//获取枚举的索引位置,默认从开始System.out.println(ColorEnum.red.ordinal());//System.out.println(ColorEnum.green.ordinal());//System.out.println(ColorEnum.yellow.ordinal());//System.out.println(ColorEnum.blue.ordinal());////枚举默认实现了java.lang.parable接口System.out.println(ColorEnum.red.pareTo(ColorEnum.green));//-//--------------------------System.out.println(“===========“);System.err.println(“季节为“+SeasonEnum.getSeason());//--------------System.out.println(“===========“);for(Gendergender:Gender.values()){System.out.println(gender.value);}//--------------System.out.println(“===========“);for(OrderStateorder:OrderState.values()){System.out.println(order.getName());}}}

  ⒀java枚举类型有什么好处请举个简单明了的例子

  ⒁Enum是enumeration(列举)的简写形式,包含在java.lang包中.熟悉C,C++,C#,或Pascal人应该对列举有所了解,先看个例子:publicenumSeason一个enum是定义一组值的对象,它可以包括零个或多个值成员.它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值.在次之前的java程序员一般是用接口的方法实现列举的,如:publicinterfaceSeason{staticwinter=;staticspring=;//etc..}引入了enum的java的列举的编写方便了许多,只须定义一个enum型的对象.enum对象的值都回自动获得一个数字值,从开始,依次递增.看一个比较简单的enum实现的例子:EnumDemo.javapackage.javagarage.enums;/*Wecanloopoverthevaluesweputintotheenumusingthevalues()method.NotethattheenumSeasonsispiledintoaseparateunit,calledEnumDemo$Seasons.class*/publilassEnumDemo{/*declaretheenumandaddvaluestoit.notethat,likeinC#,wedon’tusea;toendthisstatementandweusemastoseparatethevalues*/privateenumSeasons{winter,spring,summer,fall}//listthevaluespublicstaticvoidmain(Stringargs){for(Seasonss:Seasons.values()){System.out.println(s);}}}运行上述代码你回得到以下结果:winterspringsummerfall

  ⒂JAVA里String类和Enumeration类是什么关系

  ⒃Enumeration是一个接口,本身和String没有任何关系,从这句Stringstr=(String)enu.nextElement();来看的话,enu中只是存储了String类型的元素,当然Enumeration也不止是只存储String类型的数据,也可以是Integer,Float,Long,其它类等等。(String)enu.nextElement()不是对Enumeration向下转型,而对enu.nextElement()返回的结果转型。

  ⒄Java中,Enumeratation+elements()方法用于什么类

  ⒅在Java中,Enumeration和elements()方法主要用于枚举(Enumeration接口的实现类。Enumeration是Java中一个早期的接口,用于遍历集合或序列中的元素,它只有两个方法:hasMoreElements()和nextElement(),用于检查是否还有更多的元素和获取下一个元素。

  ⒆在Java中,许多集合类都实现了Enumeration接口,例如Vector、Hashtable等。这些类都提供了一个elements()方法,该方法返回一个Enumeration对象,可以用来遍历集合中的元素。

  ⒇例如,以下是一个使用Enumeration和elements()方法遍历Vector对象中元素的示例代码:

  ⒈在上面的示例中,我们首先创建了一个Vector对象,并向其中添加了三个元素。然后,我们使用elements()方法获取了一个Enumeration对象,并在while循环中使用hasMoreElements()和nextElement()方法遍历了Vector对象中的所有元素,并将它们打印到控制台上。

  ⒉总之,Enumeration和elements()方法用于遍历集合或序列中的元素,可以在许多集合类中使用,例如Vector、Hashtable等。

  ⒊在java中怎么取出数组中的数据

  ⒋方法:publicfinalsynchronizedvoidsetsize(intnewsize);此方法用来定义向量的大小,若向量对象现有成员个数已经超过了newsize的值,则超过部分的多余元素会丢失。.程序中定义Enumeration类的一个对象Enumeration是java.util中的一个接口类,在Enumeration中封装了有关枚举数据集合的方法。在Enumeration提供了方法hasMoreElement()来判断集合中是否还有其他元素和方法nextElement()来判断集合中是否还有其他元素和方法nextElement()来获取下一个元素。利用这两个方法,可以依次获得集合中的元素。.Vector中提供方法:publicfinalsynchronizedEnumerationelements();此方法将向量对象对应到一个枚举类型。java.util包中的其他类中也都有这类方法,以便于用户获取对应的枚举类型。

您可能感兴趣的文章:

相关文章