我怎么就理解不了枚举的含义阿,谁能给我说明白阿 请举例+文字说明,用最通俗易懂的语言来表示,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Java的Enumeration(枚举,注释②)便是具有这些限制的一个反复器的例子。除下面这些外,不可再用它做其他任何事情: (1) 用一个名为elements()的方法要求集合为我们提供一个Enumeration。我们首次调用它的nextElement()时,这个Enumeration会返回序列中的第一个元素。 (2) 用nextElement()获得下一个对象。 (3) 用hasMoreElements()检查序列中是否还有更多的对象。 ②:“反复器”这个词在C++和OOP的其他地方是经常出现的,所以很难确定为什么Java的开发者采用了这样一个奇怪的名字。Java 1.2的集合库修正了这个问题以及其他许多问题。 hi,guys,你果然是缺乏C/C++背景的人,呵呵.我们最好先从C说起.比如说,我们如何表示星期,或者月份这样的量, 我们当然可以用0,1,2,3,4,5,6或者是1-12个月份.这样我们在写程序的时候就得写month = 3;但是有了枚举就不一样了.enum Weekdays{ ... ... March = 3, ...}我们可以这样写:month = March; //这样的可读性比较好了.(虽然你不怎么觉得现在)不过我们的month是怎么定义的呢?int month? 其实这样类型也并不安全啊.最好是enum enumMonth{ ...};enumMonth month;month = March;//这样就好很多了.而且从编译的角度来说,它仅仅是一个常量的集合,通常C理解它们为整数类型.它们是可以参与数学运算的.month = March + 1; //4月,其实这样不好,作为C++,也许需要转型的.其实Java也有类似的东西,但是是用clss模拟的.class Month{ public final static int March = 3; }仅此而已,当然了,枚举的精髓在于,我所认为的类型安全.因为Java本身缺少type alias这样的机制.所以这样的"枚举"并不会起到实际上的安全的作用.在C#中,现在允许我们指定一个枚举变量的sizeof了.语法我记不得了,但是你不指定,它就是int的,但是你有机会把它变成一个short或者byte.毕竟才12个月,per year. 嗯,wait,lz问的是java最新语法的枚举,还是你们几个说的迭代器啊? 比如Java中的Vector类, Vector vector = new Vector();经过一系列操作后,假设add的都是String类型在不调用size()方法时,并不知道这个向量共有多少元素,但是可调用elements() 方法,返回一个Enumeration类型的枚举对象这个枚举对象就包括了向量中所有的元素,比如: Enumeration enum = vector.elements();while(enum.hasMoreElements()) //如果还有无素,方法返回真.{ String str = (String)enum.nextElement(); // 取下一个元素,相当于 i++ ,而非 ++i; // 处理输出 System.out.println(str);}大概就这样,供LZ参考下 java切图,图片jpg格式 java 如何连接到 MS SQL 2008? java里创建一组label的问题 到底哪里出错了? 小菜问题--关于向数据库存储日期时间类型数据 如何做出这样的 文件选择对话框 Java实现多线程服务器时出现的疑难问题 setIcon后按鈕上的圖片沒變,請指教! properties文件应该放在那? Exception in thread "main" java.lang.StackOverflowError 想从事j2ee开发,该学些什么? 急!!!java如何improt Weka???
(1) 用一个名为elements()的方法要求集合为我们提供一个Enumeration。我们首次调用它的nextElement()时,这个Enumeration会返回序列中的第一个元素。
(2) 用nextElement()获得下一个对象。
(3) 用hasMoreElements()检查序列中是否还有更多的对象。 ②:“反复器”这个词在C++和OOP的其他地方是经常出现的,所以很难确定为什么Java的开发者采用了这样一个奇怪的名字。Java 1.2的集合库修正了这个问题以及其他许多问题。
我们最好先从C说起.比如说,我们如何表示星期,或者月份这样的量, 我们当然可以用0,1,2,3,4,5,6
或者是1-12个月份.这样我们在写程序的时候就得写month = 3;但是有了枚举就不一样了.enum Weekdays
{
... ...
March = 3,
...
}我们可以这样写:
month = March; //这样的可读性比较好了.(虽然你不怎么觉得现在)不过我们的month是怎么定义的呢?
int month?
其实这样类型也并不安全啊.最好是
enum enumMonth
{
...
};enumMonth month;
month = March;//这样就好很多了.而且从编译的角度来说,它仅仅是一个常量的集合,通常C理解它们为整数类型.
它们是可以参与数学运算的.month = March + 1; //4月,其实这样不好,作为C++,也许需要转型的.
其实Java也有类似的东西,但是是用clss模拟的.class Month
{
public final static int March = 3;
}仅此而已,当然了,枚举的精髓在于,我所认为的类型安全.因为Java本身缺少type alias这样的机制.所以这样的"枚举"并不会起到实际上的安全的作用.
在C#中,现在允许我们指定一个枚举变量的sizeof了.
语法我记不得了,但是你不指定,它就是int的,但是你有机会把它变成一个short或者byte.
毕竟才12个月,per year.
经过一系列操作后,假设add的都是String类型
在不调用size()方法时,并不知道这个向量共有多少元素,
但是可调用elements() 方法,返回一个Enumeration类型的枚举对象
这个枚举对象就包括了向量中所有的元素,
比如:
Enumeration enum = vector.elements();
while(enum.hasMoreElements()) //如果还有无素,方法返回真.
{
String str = (String)enum.nextElement(); // 取下一个元素,相当于 i++ ,而非 ++i;
// 处理输出
System.out.println(str);
}大概就这样,供LZ参考下