Java 在批注中包含计算的“static final”属性
这很有效Java 在批注中包含计算的“static final”属性,java,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_
@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()));
有没有办法在注释中包含计算的静态最终值?没有。注释属性值必须是常量表达式。不完全是这样,接受的实际值取决于注释方法的返回类型。一切都描述过了
但是,您可以给它一个键,一个字符串值、枚举值或可以引用运行时检索的值的类对象。这就是获得动态值的方法。该值必须是编译器可以计算为常量的值。在第二个示例中,直到运行时才知道该值。因此,在本例中,我无法执行任何操作,因为@JsonRootName不是由我正确编写的。@jax right。如果您不是处理它的人,那么您几乎无法从动态值中获得所需的行为。