pon*_*zao 25 annotations scala
编译为字节码时,注释构造函数参数似乎无效.我也没有编译器警告.
以下作品.getAnnotations为了name现场返回javax.annotation.Nullable.
class Person {
@Nullable var name: String = _;
}
Run Code Online (Sandbox Code Playgroud)
以下不适用于val或var.
class Person(@Nullable var name: String)
Run Code Online (Sandbox Code Playgroud)
这可能不是故意的,所以我有什么遗漏或者我应该提交错误报告吗?
Mor*_*itz 35
在构造函数参数上指定注释时,需要指定应注释的内容.
要做到这一点注解你的注释与一个或多个注释scala.annotation.target,例如getter,setter或在您的情况field:
import annotation.target.field
class Person(@(Nullable @field) var name: String)
Run Code Online (Sandbox Code Playgroud)
您还可以使用类型别名:
type NullableField = Nullable @field
class Person(@NullableField var name: String)
Run Code Online (Sandbox Code Playgroud)
现在这个特定的注释和其他包都在scala.annotation.meta包而不是scala.annotation.target中
import scala.annotation.meta.{field, param}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5422 次 |
| 最近记录: |