我有以下 Java 枚举:
public enum CertificateType {
EMAIL("Email"),
NATURAL_QUALIFIED("Qualified"),
PSEUDONYMOUS_QUALIFIED("Qualified");
public final String NAME;
private CertificateType( final String name ) {
this.NAME = name;
}
}
我想做的就是将该枚举转换为 Map[enum as String, enum.NAME] 以在 Play Framework@select
函数中使用。通过枚举作为字符串,我的意思是“EMAIL”或“NATURAL_QUALIFIED”
对于对象列表,我会使用该.map
函数,如下所示:
Organization.all.map(org => (org.id.toString, org.name))(collection.breakOut)
但我认为我不能修改它以使用枚举。
我怎样才能做到这一点?
编辑:注释与 Scala 无关,而是 Play 的 ORM 注释。上面的代码是一个 Java 枚举。枚举值是指每个枚举,如 EMAIL、NATURAL_QUALIFIED 等。
一个示例 key=>value 对将是 "EMAIL"=>"Email"
编辑 2:为清楚起见,我删除了枚举上的注释。