相关疑难解决方法(0)

从枚举序号转换为枚举类型

ReportTypeEnum在所有类中的方法之间传递的枚举类型,但我需要在URL上传递它,所以我使用序数方法来获取int值.在我的其他JSP页面中获取它之后,我需要将其转换回一个ReportTypeEnum以便我可以继续传递它.

我如何将序数转换为ReportTypeEnum

使用Java 6 SE.

java enums

292
推荐指数
6
解决办法
14万
查看次数

如何从String值中查找Java枚举?

我想从其字符串值(或可能是任何其他值)查找枚举.我尝试了以下代码,但它不允许在初始化程序中使用静态代码.有一个简单的方法吗?

public enum Verbosity {

    BRIEF, NORMAL, FULL;

    private static Map<String, Verbosity> stringMap = new HashMap<String, Verbosity>();

    private Verbosity() {
        stringMap.put(this.toString(), this);
    }

    public static Verbosity getVerbosity(String key) {
        return stringMap.get(key);
    }
};
Run Code Online (Sandbox Code Playgroud)

java lookup enums

147
推荐指数
9
解决办法
22万
查看次数

获取与int值关联的枚举

以前,我将LegNo枚举定义为:

NO_LEG, LEG_ONE, LEG_TWO
Run Code Online (Sandbox Code Playgroud)

通过调用return LegNo.values()[i];,我能够获得与每个枚举相关的值.

但现在我已经决定我想要LegNo枚举NO_LEG为int -1而不是0所以我决定使用私有构造函数初始化并设置其int值

NO_LEG(-1), LEG_ONE(1), LEG_TWO(2);

private LegNo(final int leg) { legNo = leg; }
Run Code Online (Sandbox Code Playgroud)

现在唯一的事情是,因为我这样做,这个values()方法不适用于NO_LEG枚举.如何获得与int关联的枚举?除了使用case switch语句或if-elseif-elseif之外,还有其他有效的方法吗?

从enum中获取int值我可以看到很多SO问题,但是我正在反过来.

java enums

84
推荐指数
5
解决办法
9万
查看次数

如何将枚举变量保存到数据库(而不是枚举值本身)

我想知道是否可以映射枚举变量和数据库。我想将黄色值(枚举变量)保存在数据库中

枚举变量

此类中使用了枚举:

@Getter
@Setter
@Table(name = "TIPOS_MOVIMIENTO")
@Entity

public class TipoMovimiento {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;

@Column
@Enumerated(EnumType.STRING)
private TipoMov tipo;

public String getTipo() {
    return tipo.getTipoNombre();
}

@OneToMany(mappedBy = "tipoMov")
private List<Movimiento> movimientos;
Run Code Online (Sandbox Code Playgroud)

我的 DTO 课程:

@Getter
public class TipoMovimientoDto implements DtoEntity {

private TipoMov tipo;

}
Run Code Online (Sandbox Code Playgroud)

我尝试过 DTO

@Convert(converter = TipoMovEnumConverter.class) 私人TipoMov tipo;

但这不起作用

java mapping enums spring-data

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

标签 统计

enums ×4

java ×4

lookup ×1

mapping ×1

spring-data ×1