如何从 Java 调用 scala 的 Option 构造函数
我正在开发一个混合 java/scala 项目,并且尝试从 Java 调用 scala 对象的方法。此方法采用 Option[Double]
作为参数。我认为这会起作用:
Double doubleValue = new Double(1.0);
scalaObj.scalaMethod(new Some(doubleValue));
但是 Eclipse 告诉我“构造函数 Some(Double) 未定义”。
我应该以不同的方式调用 scala.Some 的构造函数吗?
I am working on a mixed java/scala project, and I am trying to call a scala object's method from Java. This method takes an Option[Double]
as a parameter. I thought this would work:
Double doubleValue = new Double(1.0);
scalaObj.scalaMethod(new Some(doubleValue));
But Eclipse tells me "The constructor Some(Double) is undefined".
Should I be calling the constructor for scala.Some
differently?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 Scala 中,通常按如下方式提升到 Option:
()
是Option
的apply[A](A obj)
方法的语法糖。 s 伴随对象。因此,在Java中可以直接调用:In Scala you normally lift to Option as follows:
()
is a syntactic sugar forapply[A](A obj)
method ofOption
's companion object. Therefore, it can be directly called in Java:你可以用这种方式构造一个 Some 实例,这可以为我编译,
问题可能是缺少泛型,尝试这样做,
You can construct a Some instance that way, this compiles for me,
The problem may be the missing generics, try doing,