java中spring常量的含义

bgtovc5b  于 2021-06-26  发布在  Java
关注(0)|答案(1)|浏览(564)

目前,我正在开发一个spring引导应用程序,其中一个rest控制器如下所示:

@RequestMapping(value = VALUE)
public class SomeControllerClass {

  public final static String VALUE = UUID.randomUUID().toString();

  ...

}

在开发这个时,我在为设置值时遇到了这个问题 @RequestMapping 属性值必须是常量
但是,如果我改变静态字段赋值,如下所示,一切都正常:

public final static String VALUE = "someValue";

现在,我想知道以下两者之间的区别(就java常量含义而言):

public final static String VALUE = "someValue";

公共最终静态字符串值=uuid.randomuuid().tostring()

rta7y2nd

rta7y2nd1#

我认为常量的正式定义是java语言规范的第15.29节(常量表达式):
https://docs.oracle.com/javase/specs/jls/se15/html/jls-15.html#jls-15.29
所以,在字符串常量的情况下,它是文本字符串和任何使用其他常量字符串变量的简单表达式。

相关问题