gpt4 book ai didi

scala - 在 Scala 中注释构造函数参数

转载 作者:行者123 更新时间:2023-12-03 10:40:17 26 4
gpt4 key购买 nike

编译为字节码时,注释构造函数参数似乎没有任何作用。我也没有收到编译器警告。

以下作品。 getAnnotationsname字段返回 javax.annotation.Nullable .

class Person {
@Nullable var name: String = _;
}

以下没有,也没有 valvar .
class Person(@Nullable var name: String)

这可能不是故意的,所以我遗漏了什么还是应该提交错误报告?

最佳答案

当您在构造函数参数上指定注释时,您需要指定应该注释的内容。

为此,请使用来自 scala.annotation.target 的一个或多个注释来注释您的注释。 ,例如getter , setter或如您的情况 field :

import annotation.target.field

class Person(@(Nullable @field) var name: String)

您还可以为此使用类型别名:
type NullableField = Nullable @field

class Person(@NullableField var name: String)

更新 Scala 2.12

现在这个特定的注释和其他注释在包 中scala.annotation.meta 而不是 scala.annotation.target
import scala.annotation.meta.{field, param}

关于scala - 在 Scala 中注释构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3769624/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com