我正在尝试将 a 转换String为 Groovy 中的枚举,但我想使用与字面枚举名称不同的名称。
假设我有一些使用自定义名称的枚举,如下所示:
enum Breed {
HUSKY('Husky'),
LABRADOR('Labrador'),
POODLE('Poodle')
private final String name
Breed(String name) {
this.name = name
}
String toString() {
name
}
}
Run Code Online (Sandbox Code Playgroud)
就目前而言,我可以使用Breed以下代码获得:
Breed breed = 'HUSKY' as Breed
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够覆盖此行为以使用名称字段,如下所示:
Breed breed = 'Husky' as Breed
Run Code Online (Sandbox Code Playgroud)
我可以在此枚举中实现或重写方法来首先检查名称字段吗?理想情况下,我希望避免重写asType方法来String实现所需的行为。