![]() |
1
0
您可以实现这一点,但您将失去编译器提供给您的优势,即在编译时检查类型是否正确。
使用
您可以毫无问题地使用它:
但是,另一方面,您也可以使用它(编译器不会显示任何错误)
相反,您将收到类型为的运行时异常
如果你想要什么 可能 不太容易出错(在编译时而不是运行时显示错误),您可以定义在类中处理/知道/提供的所有函数(枚举不处理泛型)。
(
您可以根据需要重构,也许可以添加
然后稍微改变一下
您可以创建方法
这将起作用:
这将显示一个编译时错误,非常容易检测和修复:
最后,您可以将
|
![]() |
2
0
遗憾的是,没有办法。编译器预期该类型在运行时丢失,这将使将其分配给除
或者,您可以返回
另一种选择是使用提供的泛型调用该方法。不幸的是,我不确定这是否会导致其他编译错误。尝试以下操作
提供
|
![]() |
3
0
如下所示修改您的枚举。
您必须在每个ReturnType中实现,以从字符串返回生成的T值。 然后可以使用ReturnType枚举,如下所示。
请善意地忽略编译器错误并修复它。我想给你一个想法,以其他方式实现。 |