从枚举顺序转换为枚举类型

问题:

我有枚举类型ReportTypeEnum在所有类中的方法之间传递,但是我需要在URL上传递,所以我使用ordinal方法来获取int值。在我的其他JSP页面中,我需要将其转换回ReportTypeEnum,以便我可以继续传递它。
如何将序数转换为ReportTypeEnum
使用Java 6 SE。

回答:

要将序数转换为其枚举代数,您可能需要这样做:

ReportTypeEnum value = ReportTypeEnum.values()[ordinal];

请注意数组边界。
请注意,每次调用values()将返回一个新克隆的数组,这样可能会以负面的方式影响性能。如果要经常调用,可能需要缓存数组。
 Code example on how to cache values()
 This answer was edited to include the feedback given inside the comments

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Convert from enum ordinal to enum type

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 1 = 2