java中enum的values()方法定义在哪里呢?

最近在看枚举类型的时候,发现用For-each循环遍历enum中的值时,通过“enum类型名“.values()时可以获得枚举类型中的值,而我好奇去查看java6的API... 最近在看枚举类型的时候,发现用For-each循环遍历enum中的值时,通过“enum类型名“.values()时可以获得枚举类型中的值,而我好奇去查看java6的API文档里,却发现:
1)java.lang.Enum中只有valueOf()的方法,并没有values();
2)java.lang.Object我亦并未找到values();

然后我直接去查看Enum和Object的源代码也没有发现该方法,
而在google上查,我也没有找到答案,所以在这里提问,enum的values()方法在哪里?
最后十分感谢您浪费宝贵的时间把我的提问看完,我也十分期待您的帮助。
展开
 我来答
Apple林
2015-07-07 · TA获得超过2093个赞
知道小有建树答主
回答量:895
采纳率:66%
帮助的人:552万
展开全部
values()方法是编译器插入到enum定义中的static方法,所以,当你将enum实例向上转型为父类Enum是,values()就不可访问了。解决办法:在Class中有一个getEnumConstants()方法,所以即便Enum接口中没有values()方法,我们仍然可以通过Class对象取得所有的enum实例
关于详细的说明可以参考:
http://www.cnblogs.com/happyPawpaw/archive/2013/04/09/3009553.html
http://blog.sina.com.cn/s/blog_6fd0fd4b01014x8l.html
百度网友9308069
2011-07-25 · TA获得超过1万个赞
知道大有可为答主
回答量:3947
采纳率:89%
帮助的人:1918万
展开全部
这个方法在java.lang.annotation 包的Enum ElementType下
ElementType(成员类型类)继承了Enum接口,增加了values方法

参考资料: http://download.oracle.com/javase/6/docs/api/java/lang/annotation/ElementType.html#values()

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式