在Scala中使用注释

时间:2013-07-05 21:31:22

标签: scala

我想在Scala中使用注释:

  //@SuppressWarnings("unused")
  def method123 = someObject.someMethod456

如果我取消注释,则会导致错误

 type mismatch;
[error]  found   : String("unused")
[error]  required: Array[String]
[error]   @SuppressWarnings("unused")

这是怎么回事?

1 个答案:

答案 0 :(得分:3)

试试这个

 @SuppressWarnings(Array("unused"))

此外,使用array initializerSuppressWarnings注释在 java 中完全合法:

 @SuppressWarnings({"unused"})

那是因为SuppressWarnings#value is an array

修改

有一些特定于java的语法糖。

jls 9.7.1

  
    

如果元素类型是数组类型且相应的ElementValue不是ElementValueArrayInitializer,则其唯一元素是ElementValue表示的值的数组值与元素相关联     ...

         

换句话说,当单个元素数组与数组值注释类型元素相关联时,允许省略花括号。

  

{ ElementValuesopt ,opt } scala 中是非法的,这就是为什么在上面的例子中应该使用Array("unused")的原因。