目前,我正在开发一个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()
1条答案
按热度按时间rta7y2nd1#
我认为常量的正式定义是java语言规范的第15.29节(常量表达式):
https://docs.oracle.com/javase/specs/jls/se15/html/jls-15.html#jls-15.29
所以,在字符串常量的情况下,它是文本字符串和任何使用其他常量字符串变量的简单表达式。