我想在Scala中使用注释:
//@SuppressWarnings("unused")
def method123 = someObject.someMethod456
如果我取消注释,则会导致错误
type mismatch;
[error] found : String("unused")
[error] required: Array[String]
[error] @SuppressWarnings("unused")
这是怎么回事?
答案 0 :(得分:3)
试试这个
@SuppressWarnings(Array("unused"))
此外,使用array initializer的SuppressWarnings
注释在 java 中完全合法:
@SuppressWarnings({"unused"})
那是因为SuppressWarnings#value
is an array。
修改强>
有一些特定于java的语法糖。
如果元素类型是数组类型且相应的ElementValue不是ElementValueArrayInitializer,则其唯一元素是ElementValue表示的值的数组值与元素相关联 ...
换句话说,当单个元素数组与数组值注释类型元素相关联时,允许省略花括号。
但{ ElementValuesopt ,opt }
在 scala 中是非法的,这就是为什么在上面的例子中应该使用Array("unused")
的原因。