1
46
目前正在讨论此问题 JEP-301 Enhanced Enums . Jep中给出的例子,正是我所寻找的:
不幸的是,杰普仍在努力解决重大问题: http://mail.openjdk.java.net/pipermail/amber-spec-experts/2017-May/000041.html |
2
11
答案是:
这两种方法都不可能,因为参数类型被擦除。
要实现这些方法,您可以将枚举构造为:
|
3
4
枚举中还有其他方法不起作用。什么会
怎么样
如果您认为编译器可以使类泛型方法
为了像这样称呼它
|
4
4
因为你不能。说真的。这可以添加到语言规范中,但还没有。这会增加一些复杂性。成本效益意味着它不是一个高优先级。 更新:当前正在添加到语言下 JEP 301: Enhanced Enums . |
5
1
坦率地说,这似乎更像是寻找问题的解决方案。 JavaEnUM的全部目的是对以相似的属性共享相似类型属性的类型实例的枚举进行建模,该方法提供了可比字符串或整数表示的一致性和丰富性。 以文本书枚举为例。这不是非常有用或一致的:
为什么我希望我的不同行星有不同的通用类型转换?它能解决什么问题?它是否有理由使语言语义复杂化?如果我真的需要这个行为是一个枚举实现它的最佳工具? 另外,您如何管理复杂的转换? 例如
很容易
|
6
-2
因为“enum”是枚举的缩写。 它只是一组命名常量,代替序数,使代码更易于阅读。 我不知道类型参数化常量的预期含义是什么。 |
7
-3
我想是因为基本上不能引用枚举 如果JVM允许,您将在哪里设置T类? 枚举是应该总是相同的数据,或者至少是不会发生一般性变化的数据。 新MyEnum()? 以下方法可能仍然有用
|
H.v.M. · 为最后一个枚举值指定不同的变量值 2 年前 |
JimmyDiJim · 在声明后定义枚举变量 6 年前 |
Eli K · 语法错误,插入“{”以完成枚举体(在类的末尾) 6 年前 |
Vivek Shukla · 在中间添加枚举 6 年前 |
DannyD · 如何访问typescript中的枚举名称 6 年前 |