2013-02-05 71 views
6

我試圖在scala play2應用程序中使用這裏的http://restfb.com/#publishing Java Facebook庫,但是當試圖調用下面的靜態with方法時,它給了我「Compliation Error [標識符預期但是'與'找到。]「。從scala訪問公共靜態Java方法

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) 

我看到有試圖調用保護靜態方法的問題,但這些被定義爲公共的,因爲可以在javadocssource中可以看出。難道我做錯了什麼?

回答

13

with是Scala中的一個關鍵字,例如,用於mixin的多重特性。

class A extends B with C with D 

因此,如果一個方法命名爲Java庫with,你需要用``(反引號),當你調用它圍繞着它:

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

就像一個魅力!如果只有四個小時前我問過這個問題.... –