黑猴子的家:Scala 注解参数

1、注解参数详解

Java注解可以有带名参数

@Test(timeout = 100, expected = classOf[IOException])

不过,如果参数名为value,则该名称可以直接省略去
value参数的值为 “creds”

@Named("creds") 
var credentials: Credentials = _  

如果注解不带参数,则圆括号可以省略去

@Entity 
class Credentials

大多数注解参数都有默认值。举例来说,JUnit的@Test注解的timeout参数有一个默认的值0,表示没有超时。而expected参数有一个假的默认类来表示不预期任何异常。如果你用如下代码

@Test def testSomeFeature(){….}

这个注解写法等同于

@Test{timeout = 0,expected = classOf[org.junit.Test.None]}
@Test def testSomeFeature(){….}

2、Java 注解的参数类型只能是

(1)数值型的字面量
(2)字符串
(3)类字面量
(4)Java枚举
(5)其他注解
(6)上述类型的数组(但不能是数组的数组)
Scala注解可以是任何类型,但只有少数几个Scala注解利用了这个增加的(额外的)灵活性。
这个模块作为了解即可

转载于:https://www.jianshu.com/p/9adcf3d33124

猜你喜欢

转载自blog.csdn.net/weixin_34259159/article/details/91182515