- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
看一下这段代码:
public class TestClass {
public static void main(final String[] args) {
switch (0) {
case MyEnum.Test.ordinal():
break;
}
}
public static enum MyEnum {
Test;
}
}
此代码将无法编译并显示错误消息:
case expressions must be constant expressions.
这是因为 MyEnum.Test.ordinal()
不是常量。根据javadoc ,ordinal()
方法执行以下操作:
Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).
那么为什么序数不是常数呢?枚举的位置不是恒定的吗?这是怎么回事?
最佳答案
Enum.ordinal()
是一个函数。函数调用永远不能是编译时常量。 (甚至还没有接近。)
该语言的创建者也许可以选择引入一个特殊的关键字,而不是用于获取 Enum 序数的函数(它可以是 Enum.ordinal
,如 Object.class
)但我想他们决定反对它是因为
a)它不必要地使语言复杂化,并且
b)它根本不提供任何您无法通过其他方式完成的东西。
c) 来自 ordinal()
的文档:“大多数程序员不会使用此方法。它是为复杂的基于枚举的数据结构(例如 EnumSet 和 EnumMap)而设计的。 ”。
在您的示例中,您可以尝试将 int
转换为 enum
的实例,然后按实际实例切换
。
关于java - 为什么枚举序数不是常量表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43442460/
我需要定义 format为 date我的索引中的字段 { "mappings": { "properties": { "date": { "type": "da
我需要找到整数数组中元素的降序。 例子: 如果我有一个数组: x = {24, 55, 22, 1} 我想要一个 C 中的算法,它导致数组 order 其中: order = {2, 1, 3, 4}
我正在尝试用 Java 确定一个月中某个工作日的连续序号。即如果星期五是一个月的第一个或第三个星期五。 在阅读了我在 Java 日历上可以找到的所有内容和此处的帖子后,我找不到简单的方法。我能想到的一
我有一个关于 ordinal 的问题包裹在 R或者特别是关于 predict.clm()功能。我想计算linear predictor的 ordered probit估计。使用 MASS 包的 pol
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有一个 D3 分组条形图,其中 x 轴使用我的 x0 比例形成,其中域作为数据值。由于域具有数据值,我的刻度文本也是相同的数据值。我想将刻度值更改为数据名称,保持比例不变,因为名称可以相同,但数据值
有没有办法使用 NSNumberFormatter 来获取 'th' 'st' 'nd' 'rd' 数字结尾? 编辑: 看起来它不存在。这是我正在使用的。 +(NSString*)ordinalNum
我想根据当天动态生成一串文本。因此,例如,如果是第 1 天,那么我希望我的代码生成 = "Its the 1*st*". 总共有 12 天,所以我做了以下事情: 我设置了一个循环 12 天的 for
ruby 或 rails 中是否有任何东西可以处理序数的格式:'1' 为 '1st','2' 为 '2nd',等等? 最佳答案 看起来你正在寻找序号: The Ruby on Rails framew
我是一名优秀的程序员,十分优秀!