我正在尝试从Play Java类调用Scala方法,该方法将ClassTag作为参数

我失败的尝试是

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

API方法如下所示
Cache.getAs(String key, Application app, ClassTag<LocalUser> ct );

最佳答案

从Java调用不同的Scala API时遇到相同的问题。您将使用:

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

我不确定Scala为什么需要另一个类和一个静态对象,但是我认为这本质上等同于静态方法ClassTag.apply(Class)

10-04 14:35