Java调用Scala案例类w/隐式参数?

Java调用Scala案例类w/隐式参数?,java,scala,Java,Scala,他, 如何从Java调用具有隐式参数的Scala case类 斯卡拉: object Loggable { case class RunUnit(val id : Integer) { override def toString() = id.toString() } case class Run( val id : Integer, val unit : RunUnit, val start : Long )(implicit db : DB) { ... } } 爪哇: 谢

他,

如何从Java调用具有隐式参数的Scala case类

斯卡拉:

object Loggable {
 case class RunUnit(val id : Integer) {
  override def toString() = id.toString()
 }
 case class Run(
  val id : Integer, val unit : RunUnit, val start : Long
 )(implicit db : DB) { ... }
}
爪哇:

谢谢


/nm

您必须显式地提供隐式表达式。试试这个:

new Loggable.Run(new Integer(4711), ru, 0L, db);
我尝试使用javap来查看签名是什么,在顶级case类中,构造函数只有一个额外的参数

编辑:使用代码(使用虚拟DB类):

可能重复的
new Loggable.Run(new Integer(4711), ru, 0L, db);
scala> :javap Loggable$Run
[snip]
    public Loggable$Run(java.lang.Integer, Loggable$RunUnit, long, DB);
}