如何在Java中定义枚举内部的枚举

时间:2013-12-03 06:25:06

标签: java enums

我需要将数据库表及其列定义为枚举。我的想法是定义一个枚举调用表,并用表中的列定义单独的枚举。

我的列界面是这样的:

public interface Column {

}

我的数据库表枚举:

public enum Table {


ORDER(orderTableColumn);

private Column column;

public Column getColumn() {
    return column;
}

public void setColumn(Column column) {
    this.column = column;
}

private Table(Column column) {
    this.column = column;
}

}

我的专栏枚举。

public enum OrderTableColumn implements Column {

ORDER_NUMBER("orderId");

private OrderTableColumn(String columnName) {
    this.columnName = columnName;
}

private String columnName;

public String getColumnName() {
    return columnName;
}

public void setColumnName(String columnName) {
    this.columnName = columnName;
}

}

但这不起作用。任何人都可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可能希望使用此语法:

ORDER(OrderTableColumn.ORDER_NUMBER);

这样做的原因是OrderTableColumn实现了Column,这是Table实例化枚举所需的。

相关问题