|
1
9
这张地图可能太夸张了。除非您计划拥有四个以上的枚举值,否则只需迭代有效的字符串并返回正确的字符串,就可以实现getbytracname(string tn)。如果映射键始终是枚举名称,则可以执行以下操作:
} 或者你可以这样做:
|
|
|
2
7
哈哈,好笑!就在几天前,我偶然发现了这个。 从Java语言规范,第三版,第8.9节: 从该类型的构造函数、实例初始值设定项块或实例变量初始值设定项表达式引用不是编译时常量(_§15.28)的枚举类型的静态字段是编译时错误。枚举常量e的构造函数、实例初始值设定项块或实例变量初始值设定项表达式引用自身或引用在e右边声明的同一类型的枚举常量是编译时错误。 讨论 如果没有这个规则,显然合理的代码在运行时会由于枚举类型中固有的初始化循环性而失败。(循环存在于具有“自类型”静态字段的任何类中。)下面是一个将失败的代码类型示例:
此枚举类型的静态初始化将引发NullPointerException,因为当枚举常量的构造函数运行时,静态变量colormap未初始化。上述限制确保了此类代码不会编译。 请注意,可以轻松地重构示例以正常工作:
重构的版本显然是正确的,因为静态初始化是自上而下进行的。 |
|
|
3
2
我会用 Reversible Enum Pattern : reversibleEnum.java版本
reverseEnummap.java版本
将type.java更改如下:
|
|
|
4
1
怎么样;不需要在两个地方进行代码更改,这是一种容易出错的IMO:
|
|
|
5
0
我自己的解决方案,尽管它需要重复所有枚举值:
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 10 月前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 10 月前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 11 月前 |
|
pebble unit · 如何检查以前缀开头、以后缀结尾的属性(不是属性值) 11 月前 |
|
|
rudraraj · java中未声明最终变量 11 月前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 11 月前 |