大佬教程收集整理的这篇文章主要介绍了有没有办法将常量传递给Groovy中的注释?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如:
@Retention(RetentionPolicy.RUNTIME) @Target(value=[ElementType.METHOD]) public @interface MyGroovyAnnotation { String value() } class MyGroovyClass { public static final String VALUE = "Something" @myGroovyAnnotation(value=value) public String mymethod(String value) { return value } }
在这里,如果我通过@myGroovyAnnotation注释@L_789_2@mymethod,如果我传递了一个像@myGroovyAnnotation(value =“Something”)这样的字符串,那么它完美地工作,但如果我尝试像上面的例子中那样传递VALUE,我得到:
从Eclipse:
Groovy:Expected 'VALUE' to be an inline constant of type java.lang.String in @myGroovyAnnotation
从GroovyConsole运行:
expected 'VALUE' to be an inline constant of type java.lang.String not a field expression in @myGroovyAnnotation at line: 20,column: 31 Attribute 'value' should have type 'java.lang.String'; but found type 'java.lang.object' in @myGroovyAnnotation at line: -1,column: -1
例如:
@Retention(RetentionPolicy.RUNTIME) @Target(value=[ElementType.METHOD]) public @interface MyGroovyAnnotation { String value() } class MyGroovyClass { public static final String VALUE = "Something" @myGroovyAnnotation(value=MyGroovyClass.value) public String mymethod(String value) { return value } }
我想对接受的答案发表评论,但我没有50个声望.
以上是大佬教程为你收集整理的有没有办法将常量传递给Groovy中的注释?全部内容,希望文章能够帮你解决有没有办法将常量传递给Groovy中的注释?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。