Java获取枚举数组值?

时间:2012-01-24 05:25:16

标签: java eclipse

我有一个枚举,其成员构造函数包含另一个枚举的列表。是否可以自动完成/获取枚举数组列表中项目的可见性?请参阅下面的代码。

我想获得给定表中列的可见性。是否可以这样做?

DatabaseDefinitions.Tables.marketOrders.columns.id //怎么做?

public class DatabaseDefinitions {
    public static enum Tables {
        marketOrders(new Columns[]{Columns.id,
            Columns.symbol,
            Columns.orderType,
            Columns.quantity,
            Columns.priceLimit,
            Columns.priceStop,
            Columns.goodAfterDate,
            Columns.goodUntilDate,
            Columns.priceAverageFill}),
        ;

        public Columns[] columns;

        Tables(Columns[] columns){
            this.columns = columns;
        }
    }

    public static enum Columns {
        id,
        symbol,
        orderType,
        quantity,
        priceLimit,
        priceStop,
        goodAfterDate,
        goodUntilDate,
        priceAverageFill,
        exchange,
        currency,
        securityType,
        price,
        sizeBid,
        sizeAsk,
        sizeLast,
        sizeVolume,
        dateTime,
    }

    public static enum Queries {

    }
}

1 个答案:

答案 0 :(得分:0)

我会在Tables class / enum。

中添加一个公共getter
public Columns[] getColumns() {
    return this.columns;
}

<强>更新

糟糕,“列”已经是一个“公共”数组。那么问题是什么?在这种情况下,您可以轻松访问每个列的列,例如

if ( DatabaseDefinitions.Tables.marketOrders.columns[0].equals( Columns.id ) ) {
  // ...
}

与此同时,我会将'columns'数组'私有'并通过getter提供访问权限。但这可能取决于你的具体任务。