ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # 什么可以被注解 1. 可以为类,方法,字段局部变量,参数,表达式,类型参数以及各种类型定义添加注解 ~~~ @Entity class Student @Test def play() {} @BeanProperty var username = _ def doSomething(@NotNull message: String) {} @BeanProperty @Id var username = _ ~~~ 2. 构造器注解,需要在主构造器之前,类名之后,且需要加括号,如果注解有参数,则写在注解括号里 ~~~ class Student @Inject() (var username: String, var password: String) ~~~ 3. 为表达式添加注解,在表达式后添加冒号 ~~~ (map1.get(key): @unchecked) match {...} ~~~ 4. 泛型添加注解 ~~~ class Student[@specialized T] ~~~ 5. 实际类型添加注解 ~~~ String @cps[Unit] ~~~ # 注解参数 java注解可以带有名参数 ~~~ @Test(timeout = 100, expected = classOf[IOException]) //如果参数名为value,则该名称可以直接略去 @Named("creds") var credentials: Credentials = _ //value参数的值为"creds" //注解不带参数,园括号可以省去 @Entity class Credentials ~~~ java注解的参数类型只能是: 数值型的字面量 字符串 类字面量 java枚举 其他注解