小编Bat*_*tte的帖子

在 Groovy 中将字符串转换为具有自定义名称的枚举

我正在尝试将 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实现所需的行为。

groovy enums type-conversion

1
推荐指数
1
解决办法
432
查看次数

标签 统计

enums ×1

groovy ×1

type-conversion ×1