我在代码中错过了什么导致属性值必须是常量

时间:2017-04-12 19:28:13

标签: java annotations

我已经在这里工作了好几个小时,从我看到它应该是可能的但我不断收到错误 "属性值必须是常数"

我一直在看这里的很多帖子,但没看到我的问题是什么。

在我的测试类文件

// The annotation
@Pattern(regexp = MetaFilters.FuzzyDate.getRegExp())

。 在枚举文件中

public enum MetaFilters {
    FuzzyDate;
    private String regExp;

    static {
        FuzzyDate.regExp = "...a pattern...";
    }

    public String getRegExp() {
        return regExp;
    }
}

我已经尝试过编写枚举的方式,而不是我记忆中的方法。这样做的全部目的是拥有许多正则表达式选项,因为模式可能只有YYYY-MM-DD,或者可能包含时间戳,或者可能是日期本身的不同格式。请提供一些指导。

那么为了让这个工作起作用,我在这里错过了什么?

0 个答案:

没有答案