我有一些枚舉枚舉,每個枚舉都包含要測試的屬性名稱。我遇到的問題是如何爲對象選擇相關的枚舉。我怎樣才能定義一個枚舉變量,它貫穿我的代碼,可以通過initalise方法設置。選擇正確的枚舉
編輯:
對不起,延遲響應。我不得不離開辦公桌
這很糟糕的設計。我有幾個枚舉如下:
public enum AccountGrpEnum {
Account("Account"),
AccountType("AccountType"),
AcctIDSource("AcctIDSource");
private static Set<String> grpNames = new HashSet<String>(3) {{
for(AccountGrpEnum e : AccountGrpEnum.values()) {
add(e.toString());
}
}};
public static boolean contains(String name) {
return grpNames.contains(name);
}
private String name;
private AccountGrpEnum(String name) {
this.name = name;
}
public String toString() {
return this.name;
}
}
另一個Enum
:
public enum BlockManValEnum {
avgPx("avgPx"),
quantity("quantity"),
securityIDSource("securityIDSource"),
securityID("securityID"),
blockStatus("blockStatus"),
side("side");
private static Set<String> names = new HashSet<String>(9) {{
for(BlockManValEnum e : BlockManValEnum.values()) {
add(e.toString());
}
}};
public static boolean contains(String name) {
return names.contains(name);
}
private String name;
private BlockManValEnum(String name) {
this.name = name;
}
public String toString() {
return this.name;
}
}
在我的代碼,我檢查傳入對象的字段,看看它們都包含在枚舉內。具體如下:
if (BlockManValEnum.contains(fields[i].getName()))
但是我想它沿着哪裏variableEnum
可以在運行時設置的
if (variableEnum.contains(fields[i].getName()))
線是。
希望這是更清晰的傢伙
你能否提供一些更具體的細節? –
你的問題不是很清楚。 ** a)**似乎數字應該是小寫,除非您正在談論一個沒有意義的數字對象。 ** b)**如果您發佈有問題的代碼或示例代碼來完成相同的任務,那麼回答您會容易得多。你能做這個嗎? (越早越好,對問題的評價可能會比較快,您可能想要[刪除]您的問題,並再次發佈更詳細的信息。) –
老實說?我不明白你是什麼意思:)但對我來說,它看起來是一個非常醜陋的測試設計。 –