2014-02-05 19 views
9

我試圖讓從一個播放Java類Scala的方法,這需要ClassTag作爲參數調用調用的Scala從Java遊戲框架,這需要ClassTag

我的失敗嘗試

Option<LocalUser> localUser = Cache.getAs(userId.userId(), app, new ClassTag<LocalUser>()); 

API方法看起來像這樣

Cache.getAs(String key, Application app, ClassTag<LocalUser> ct); 
+0

失敗是什麼意思? –

+0

它說不能實例化ClassTag作爲它的摘要.. –

+0

嗯。它應該工作。你輸入哪個ClassTag?從哪個包? –

回答

19

從Java調用不同的斯卡拉API,當我有同樣的問題。你會使用:

ClassTag<LocalUser> tag = scala.reflect.ClassTag$.MODULE$.apply(LocalUser.class); 

我不知道爲什麼斯卡拉需要其他類和靜態對象,但我認爲這基本上是一個靜態方法ClassTag.apply(Class)的等價物。

+0

你不需要'MODULE $',你可以直接寫'scala.reflect.ClassTag.apply(LocalUser.class);' –