从scala访问公共静态java方法

时间:2013-02-05 23:59:11

标签: scala playframework-2.0

我正在尝试在scala play2应用中使用Java facebook库http://restfb.com/#publishing,但是当尝试调用下面的静态with方法时,它会给我“Compliation Error [标识符预期但是'找'找到了。]“。

val fbClass = classOf[FacebookType]
val param = Parameter.with("message", msg)
val attachment = BinaryAttachment.with("cat.png", stream)
val fbResp = facebookClient.publish("me/photos", fbClass, attachment, param)

我发现尝试调用 protected 静态方法存在问题,但这些方法被定义为公开,如javadocssource中所示。我做错了吗?

1 个答案:

答案 0 :(得分:13)

with是Scala中的关键字,例如,用于mixin多个特征。

class A extends B with C with D

因此,如果一个方法在Java库中被命名为with,那么在调用它时需要用``(反引号)来包围它:

BinaryAttachment.`with`("cat.png", stream)