0

我正在尝试在基于数据类型构建查询的应用程序中构建高级搜索功能。

我潜在的数据类型是FLOAT, NUMBER, CHAR, VARCHAR2, DATE, TIMESTAMP(6)

我正在尝试“从我的外壳中编写代码”,而不是使用 ArrayList 来存储值,而是尝试使用,enum因为我只有这 6 个值并且它们永远不会改变。

TIMESTAMP(6)由于括号,我很难过。

我如何声明一个枚举值TIMESTAMP(6)

目前,下面的代码片段给了我错误:构造函数 TableBacking.dataTypeOptions(int) 未定义。

public enum dataTypeOptions {
    FLOAT, NUMBER, CHAR, VARCHAR2, DATE, TIMESTAMP(6)
};
4

1 回答 1

6

枚举常量名称需要是有效的标识符。所以你可以称之为TIMESTAMP_6例如。

如果您以后需要返回的字符串表示形式,TIMESTAMP(6)您可以在枚举中使用 String 构造函数来定义该值。

它可能看起来像这样:

public enum dataTypeOptions {

    FLOAT, NUMBER, CHAR, VARCHAR2, DATE, TIMESTAMP_6("TIMESTAMP(6)");
    private String stringRepresentation;

    dataTypeOptions() { //default behaviour, use the enum constant identifier
        this.stringRepresentation = this.name();
    }

    dataTypeOptions(String s) {
        this.stringRepresentation = s;
    }

    public String getStringRepresentation() {
        return stringRepresentation;
    }

};
于 2013-02-07T19:14:50.107 回答