Groovy:如何在注释中连接字符串常量?
在java中,我可以编写Groovy:如何在注释中连接字符串常量?,groovy,Groovy,在java中,我可以编写@SomeAnnotation(“abc”+“cd”)。当我在groovy中执行同样的操作时,我得到了编译错误'expected。。。是一个内联常量'。如何在groovy中连接注释中的字符串常量?您不能,因为该表达式在groovy中不是编译时常量 你有几个选择 声明一个带有常量的普通Java接口,并从Groovy中使用它 @SomeAnnotation(Constants.MY_CONST) 如果可以更改注释的源代码,可以尝试使用 你也可以在这里玩,以肮脏的方式实现
@SomeAnnotation(“abc”+“cd”)
。当我在groovy中执行同样的操作时,我得到了编译错误'expected。。。是一个内联常量'。如何在groovy中连接注释中的字符串常量?您不能,因为该表达式在groovy中不是编译时常量
你有几个选择
- 声明一个带有常量的普通Java接口,并从Groovy中使用它
@SomeAnnotation(Constants.MY_CONST)
- 如果可以更改注释的源代码,可以尝试使用
- 你也可以在这里玩,以肮脏的方式实现你的目标。(很可能你不想玩AST)
无法使用像
'aaa'+'bbb'
这样的表达式并不是唯一的问题,您可以看到像属性'value'应该具有'java.lang.String'类型这样的错误;但是找到了类型“java.lang.Object”
,即使是编译时表达式也是如此。这里有一个与可能的解决方法相关的问题。您不能。这必须是编译时常量。