我有一个枚举,其成员构造函数包含另一个枚举的列表。是否可以自动完成/获取枚举数组列表中项目的可见性?请参阅下面的代码。
我想获得给定表中列的可见性。是否可以这样做?
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 {
}
}
答案 0 :(得分:0)
我会在Tables
class / enum。
public Columns[] getColumns() {
return this.columns;
}
<强>更新强>
糟糕,“列”已经是一个“公共”数组。那么问题是什么?在这种情况下,您可以轻松访问每个列的列,例如
if ( DatabaseDefinitions.Tables.marketOrders.columns[0].equals( Columns.id ) ) {
// ...
}
与此同时,我会将'columns'数组'私有'并通过getter提供访问权限。但这可能取决于你的具体任务。