簡體   English   中英

Java獲取枚舉數組值?

[英]Java get enum array values?

我有一個枚舉,其成員構造函數包含另一個枚舉的列表。 是否可以自動完成/獲得枚舉數組列表中項目的可見性? 請參見下面的代碼。

我想獲得給定表中各列的可見性。 有可能這樣做嗎?

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 {

    }
}

我將在Tables類/枚舉中添加一個公共getter。

public Columns[] getColumns() {
    return this.columns;
}

更新

糟糕,“列”已經是“公共”數組。 那是什么問題呢? 在這種情況下,您可以輕松訪問列數組及其每個項目,例如

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

同時,我將“列”數組設為“私有”,並通過吸氣劑進行訪問。 但這可能取決於您的特定任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM