在注释中包括计算的`static final`属性

时间:2014-08-15 00:30:30

标签: java

这有效,

@JsonRootName(Bay.PLURAL_FORM)
public class Bay {

    public static final String PLURAL_FORM = "bays";

这不会(在Eclipse中显示错误:注释属性JsonRootName.value的值必须是常量表达式):

@JsonRootName(Bay.PLURAL_FORM)
public class Bay {

    public static final String PLURAL_FORM =
            English.plural(CaseFormat.UPPER_CAMEL.to(
                CaseFormat.LOWER_CAMEL, Bay.class.getSimpleName()));

有没有办法在注释中包含计算出的static final

1 个答案:

答案 0 :(得分:0)

不,没有。注释属性值必须是常量表达式。 (不完全是,接受的实际值取决于注释方法的返回类型。所有描述都是here。)

但是,您可以为它提供一个键(String值,enum值或Class对象),它可以引用在运行时检索的值。这就是你获得动态价值的方式。